:root{--ink:#17211b;--muted:#69736d;--line:#dfe4df;--paper:#f4f5f1;--white:#fff;--green:#1d4937;--lime:#d9f36a;--danger:#9b302b;--shadow:0 18px 50px rgba(28,44,35,.09)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}button,input{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,44%) 1fr;background:var(--white)}.login-card{width:min(440px,78%);margin:auto}.brand{display:flex;align-items:center;gap:11px;font-weight:750;font-size:20px;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--green);font-family:Georgia,serif;font-size:22px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:var(--muted);margin:0 0 9px}.login-card>.eyebrow{margin-top:76px}.login-card h1{font:500 clamp(42px,5vw,66px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0 0 18px}.muted{color:var(--muted);margin:0;line-height:1.55}.stack{display:grid;gap:18px;margin-top:40px}label{display:grid;gap:8px;font-size:13px;font-weight:650}input{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:12px 13px;color:var(--ink);outline:none}input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(29,73,55,.12)}.button{border:0;border-radius:9px;padding:12px 17px;font-weight:720}.primary{background:var(--green);color:#fff}.primary:hover{background:#12392a}.secondary{background:var(--ink);color:#fff}.ghost{background:transparent;border:1px solid var(--line)}.login-scene{position:relative;display:flex;align-items:flex-end;padding:7vw;background:linear-gradient(145deg,rgba(15,54,39,.08),rgba(15,54,39,.75)),radial-gradient(circle at 68% 24%,#d9f36a 0 9%,transparent 9.3%),linear-gradient(135deg,#8eb39f,#234f3d 58%,#102d22);overflow:hidden;color:#fff}.login-scene:before,.login-scene:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:38vw;height:38vw;top:-12vw;right:-8vw}.login-scene:after{width:24vw;height:24vw;top:auto;bottom:-9vw;right:15vw}.scene-copy{position:relative;z-index:1}.scene-number{font-size:12px;letter-spacing:.18em}.scene-copy h2{font:500 clamp(44px,5vw,78px)/.95 Georgia,serif;letter-spacing:-.04em;margin:22px 0}.scene-copy p{color:rgba(255,255,255,.75)}#app-view{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:28px 20px;background:var(--green);color:#fff;display:flex;flex-direction:column}.sidebar .brand{padding:0 10px}.sidebar nav{display:grid;gap:6px;margin-top:58px}.nav-item{border:0;background:transparent;color:rgba(255,255,255,.62);text-align:left;padding:12px 14px;border-radius:8px;font-weight:650}.nav-item span{display:inline-block;width:26px}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:18px 5px 0;display:grid;grid-template-columns:38px 1fr 32px;gap:10px;align-items:center}.sidebar-foot small{display:block;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.55);font-size:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--green);font-weight:800}.icon-button{border:0;background:transparent;font-size:20px;color:inherit;padding:5px}.workspace{grid-column:2;padding:42px clamp(28px,5vw,72px) 72px;max-width:1500px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.topbar h1{font:500 42px/1 Georgia,serif;margin:0;letter-spacing:-.035em}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.metrics article.accent{background:var(--lime);border-color:var(--lime)}.metrics span,.metrics small{display:block;color:var(--muted);font-size:12px}.metrics strong{display:block;font:500 42px/1 Georgia,serif;margin:22px 0 8px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 1px 0 rgba(0,0,0,.01)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head h2,.panel-head h3{font:500 27px/1.1 Georgia,serif;margin:0}.panel-head input{max-width:230px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:13px 10px;border-bottom:1px solid var(--line)}td{padding:16px 10px;border-bottom:1px solid #edf0ed;font-size:13px}.tenant-name{font-weight:750}.pill{display:inline-flex;padding:5px 9px;border-radius:99px;background:#e7f3e9;color:#27623f;font-size:11px;font-weight:750}.pill.warn{background:#fff0d5;color:#8c5a04}.row-action{border:0;background:transparent;color:var(--green);font-weight:750}.empty{text-align:center;padding:45px;color:var(--muted)}.back-button{border:0;background:transparent;padding:0;color:var(--muted);margin-bottom:22px}.tenant-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.tenant-heading h2{font:500 40px/1 Georgia,serif;margin:0}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{border:0;background:transparent;padding:12px 2px;color:var(--muted);font-weight:680;border-bottom:2px solid transparent}.tab.active{color:var(--ink);border-color:var(--green)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;min-height:180px}.module-card h3{font:500 24px/1.1 Georgia,serif;margin:14px 0 8px}.module-card p{font-size:12px;color:var(--muted);margin:0}.module-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.switch{position:relative;width:42px;height:24px;border:0;border-radius:99px;background:#cbd2cd}.switch.on{background:var(--green)}.switch:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s}.switch.on:after{transform:translateX(18px)}.inline-form{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:end;margin-bottom:18px}.check{display:flex;align-items:center;gap:7px;padding-bottom:11px}.check input{width:auto}.list,.setting-list{display:grid}.list-row,.setting-row{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-top:1px solid #edf0ed}.list-row small{display:block;color:var(--muted);margin-top:4px}.danger-link{border:0;background:transparent;color:var(--danger);font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.notice{position:fixed;z-index:20;right:28px;top:28px;background:var(--ink);color:#fff;padding:13px 17px;border-radius:9px;box-shadow:var(--shadow)}.error{color:var(--danger);background:#fff0ee;border-radius:8px;padding:10px;font-size:13px}dialog{border:0;border-radius:16px;padding:0;width:min(570px,calc(100% - 32px));box-shadow:var(--shadow)}dialog::backdrop{background:rgba(14,28,20,.55);backdrop-filter:blur(3px)}.dialog-card{padding:28px;display:grid;gap:18px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font:500 32px/1 Georgia,serif;margin:0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}small{color:var(--muted)}[hidden]{display:none!important}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-scene{display:none}.login-card{width:min(440px,calc(100% - 40px))}#app-view{grid-template-columns:1fr}.sidebar{position:static;width:auto;height:72px;padding:14px 20px;flex-direction:row;align-items:center}.sidebar nav{display:none}.sidebar-foot{margin:0 0 0 auto;border:0;padding:0}.workspace{grid-column:1;padding:28px 20px}.metrics,.card-grid{grid-template-columns:1fr}.metrics{gap:10px}.topbar h1{font-size:34px}.form-grid{grid-template-columns:1fr}.table-wrap{margin:0 -14px}.sidebar-foot>div:not(.avatar),.sidebar-foot .icon-button{display:none}}
.row-actions{display:flex;align-items:center;gap:14px}