/* GreenLife Data Platform V2.1 */
.topbar{position:fixed;z-index:20;inset:0 0 auto 0;height:78px;background:linear-gradient(90deg,var(--nav),#123d35);color:white;display:flex;align-items:center;padding:0 26px;box-shadow:0 5px 20px rgba(7,34,29,.16)}
.topbar .brand{display:flex;gap:11px;align-items:center;width:220px;padding:0}
.topbar .main-nav{display:flex;align-self:stretch;gap:4px}
.topbar .main-nav a{display:flex;align-items:center;padding:0 20px;border-radius:0;color:#bdd7d0;border-bottom:3px solid transparent}
.topbar .main-nav a:hover,.topbar .main-nav a.active{background:rgba(255,255,255,.06);color:#fff;border-bottom-color:#55c7a2}
.topbar .user-menu{display:flex;margin-left:auto;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
.topbar .link-button{color:#78d8b9}
.sidebar{inset:78px auto 0 0;width:220px;background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:25px 16px}
.side-title{font-size:12px;color:var(--muted);letter-spacing:.12em;padding:0 12px 10px}
.sidebar nav a{color:#3c514a}
.sidebar nav a:hover,.sidebar nav a.active{background:var(--mint);color:var(--green)}
.sidebar .side-foot{color:#789087}
main{margin-left:220px;padding:78px 34px 48px}
header{height:112px}
.login-main{margin:0;padding:0}
.login-shell{grid-template-columns:minmax(360px,1fr) minmax(380px,520px);align-items:center;gap:70px;padding:7vw;background:radial-gradient(circle at 12% 12%,rgba(74,190,151,.25),transparent 30%),linear-gradient(135deg,#082a25 0%,#10473c 50%,#eef7f3 50%,#f7faf9 100%)}
.login-visual{color:#fff;max-width:650px}.login-kicker{color:#70d2b3;font-weight:700;letter-spacing:.18em}
.login-visual h2{font-size:clamp(30px,3.5vw,54px);line-height:1.25;margin:22px 0}.login-visual p{color:#b8d5cd;font-size:17px}
.login-modules{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.login-modules span{border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:7px 13px;color:#d8e9e4}
.login-card{width:100%;padding:42px;box-shadow:0 24px 70px rgba(13,46,42,.2)}
.quick-section{margin-top:26px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.section-heading h2{margin:0 0 2px;font-size:20px}.section-heading p{margin:0;color:var(--muted)}.section-heading a{color:var(--green);font-weight:600}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-link{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;min-width:0;transition:.15s}.quick-link:hover{border-color:#8bc9b5;transform:translateY(-2px)}.quick-link>span{flex:0 0 43px;height:43px;display:grid;place-items:center;border-radius:11px;background:var(--mint);color:var(--green);font-weight:800;font-size:11px}.quick-link b,.quick-link small{display:block}.quick-link small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.quick-link.disabled{opacity:.62}.quick-link.disabled:hover{transform:none;border-color:var(--line)}
.link-create-form{display:grid;grid-template-columns:1fr 2fr .7fr 90px auto;gap:9px;margin-bottom:18px}.link-admin-list{display:grid;gap:9px}.link-admin-row{display:grid;grid-template-columns:1fr 2fr .65fr 75px auto auto auto auto;gap:8px;align-items:center;padding:10px;background:#f7faf9;border:1px solid var(--line);border-radius:10px}.link-admin-row label{font-size:12px;white-space:nowrap}.link-admin-row label input{width:auto}.danger{background:#a74631!important}
@media(max-width:1200px){.link-admin-row{grid-template-columns:1fr 2fr .7fr 75px}.link-admin-row label,.link-admin-row button{justify-self:start}}
@media(max-width:1100px){.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.login-shell{grid-template-columns:1fr;background:linear-gradient(145deg,#0d382f,#edf7f3);gap:25px}.login-visual{display:none}}
@media(max-width:900px){.topbar{height:auto;min-height:72px;position:static;flex-wrap:wrap;padding:12px 15px}.topbar .brand{width:auto;margin-right:auto}.topbar .main-nav{order:3;width:100%;overflow-x:auto;height:52px}.topbar .main-nav a{white-space:nowrap;padding:0 14px}.sidebar{position:static;width:auto;padding:10px 15px}.sidebar .side-title,.side-foot{display:none}.sidebar nav{display:flex;overflow-x:auto;grid-template-columns:none}.sidebar nav a{white-space:nowrap}.topbar .user-menu{display:flex;margin-left:10px}main{margin:0;padding:0 15px 30px}header{height:auto;padding:25px 0}}
@media(max-width:800px){.link-create-form,.link-admin-row{grid-template-columns:1fr}}
@media(max-width:700px){.quick-grid{grid-template-columns:1fr}.topbar .user-menu span{display:none}.login-card{padding:30px 24px}}
.gear{font-size:17px;color:#d5e8e2;padding:2px 4px}.nav-group{border-bottom:1px solid #edf1ef}.nav-group summary{cursor:pointer;padding:10px 13px;color:#31554b;font-size:13px}.nav-group>a{display:block!important;padding:7px 13px 7px 23px!important;font-size:12px!important}.nav-group>a.nav-child{padding-left:36px!important;color:var(--muted)}.stats.completeness{grid-template-columns:repeat(4,1fr)}.stats.completeness>a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 4px 16px rgba(20,50,42,.04)}.stats.completeness>a:hover{border-color:#8bc9b5;transform:translateY(-2px)}.stats.completeness strong{display:block;font-size:29px;margin:5px 0;color:var(--green)}.stats.completeness small,.stats.completeness span{display:block;color:var(--muted)}.doc-link{color:var(--green);font-weight:700}.missing{color:#a36a22;font-size:12px}.finance-frame-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;height:calc(100vh - 220px);min-height:620px}.finance-frame{width:100%;height:100%;border:0}.security-panel{max-width:650px}.mfa-qr{width:220px;height:220px}.mfa-form{display:flex;gap:10px;margin-top:18px;max-width:430px}.security-ok{padding:18px;background:var(--mint);color:var(--green);border-radius:10px;font-weight:700}.recovery{margin-top:20px;padding:18px;background:#fff7e8;border-radius:10px}.recovery code{display:inline-block;margin:5px;padding:6px;background:#fff;border:1px solid #ead9b8}@media(max-width:1000px){.stats.completeness{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.stats.completeness{grid-template-columns:1fr}.finance-frame-wrap{height:75vh}}
