:root{color:#16211c;font-synthesis:none;background:#f1f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #17633a}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em;font-family:inherit}.login-shell{background:radial-gradient(circle at 20% 0,#d6eadf,#0000 36%),#eef3ef;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#ffffffeb;border:1px solid #dce5df;border-radius:28px;width:min(430px,100%);padding:42px;box-shadow:0 24px 70px #203f2e1f}.brand-mark{color:#fff;background:#17633a;border-radius:17px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 10px 25px #17633a40}.brand-mark svg{width:27px}.brand-mark.small{width:40px;height:40px;box-shadow:none;border-radius:13px}.eyebrow{color:#286f47;text-transform:uppercase;letter-spacing:.14em;margin-top:24px;font-size:12px;font-weight:700}.login-card h1{margin-top:7px;font-size:30px}.muted{color:#67756d;margin:10px 0 26px;line-height:1.55}label{color:#45534b;gap:8px;font-size:13px;font-weight:600;display:grid}input,select,textarea{color:#16211c;background:#fff;border:1px solid #ccd8d0;border-radius:11px;outline:none;width:100%;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:#3c9562;box-shadow:0 0 0 3px #3c956221}textarea{resize:vertical;min-height:100px}.input-with-icon{display:block;position:relative}.input-with-icon svg{color:#748078;width:18px;position:absolute;top:12px;left:13px}.input-with-icon input{padding-left:42px}.button{border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:700;display:inline-flex}.button svg,.actions svg,.item button svg{width:17px;height:17px}.button.primary{color:#fff;background:#17633a}.button.secondary{color:#34443a;background:#fff;border:1px solid #d7e0da}.button.full{width:100%;margin-top:18px}button:disabled{opacity:.5;cursor:wait}.notice{border-radius:11px;margin:15px 0;padding:12px 14px;font-size:13px}.notice.error{color:#a83333;background:#fff0ef;border:1px solid #f4cbc7}.admin-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#14251c;flex-direction:column;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.brand-row{align-items:center;gap:11px;padding:0 8px 26px;display:flex}.brand-row div{display:grid}.brand-row small{color:#9fbaaa;margin-top:2px;font-size:11px}nav{gap:7px;display:grid}nav button,.logout{color:#b9ccbf;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;width:100%;padding:12px;display:flex}nav button svg,.logout svg{width:18px}nav button:hover,nav button.active{color:#fff;background:#213a2c}aside button:focus-visible{outline-color:#d9ffe8}.logout{margin-top:auto}.workspace{min-width:0;padding:40px clamp(24px,4vw,64px)}.page-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.page-header .eyebrow{margin:0 0 5px}.page-header h1{font-size:34px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.stats div{background:#fff;border:1px solid #e0e7e2;border-radius:15px;align-items:baseline;gap:10px;padding:17px 20px;display:flex}.stats strong{color:#17633a;font:800 25px Manrope}.stats span{color:#5b6b62;font-size:13px}.content-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;gap:20px;display:grid}.panel{background:#fff;border:1px solid #dfe7e1;border-radius:18px;min-width:0;padding:22px;box-shadow:0 8px 28px #2748340b}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.panel-head h2{align-items:center;gap:8px;font-size:17px;display:flex}.panel-head h2 svg{color:#318154;width:19px}.search{width:190px;display:block;position:relative}.search svg{color:#87928b;width:16px;position:absolute;top:9px;left:10px}.search input{padding:8px 10px 8px 34px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{color:#59675f;text-align:left;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #e8ede9;padding:10px 12px;font-size:11px}td{border-bottom:1px solid #edf1ee;padding:14px 12px}tbody tr:hover{background:#f5f9f6}td:first-child{gap:3px;display:grid}td small,.item small,.timeline small{color:#5d6b63;font-size:11px;display:block}.status{color:#5e6c63;text-transform:uppercase;background:#edf1ee;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.status.active,.status.stable,.status.published,.status.success{color:#247347;background:#e4f5ea}.status.revoked,.status.blocked,.status.rejected{color:#a43e38;background:#fae7e5}.status.withdrawn{color:#8a6220;background:#f6ecdc}.status.beta{color:#405eaa;background:#e8edfb}.form-panel{gap:15px;display:grid}.owner-toggle{background:#f5faf6;border:1px solid #d7e6db;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;padding:13px}.owner-toggle input{width:auto;margin-top:3px}.owner-toggle span{grid-template-columns:auto 1fr;gap:4px 7px;display:grid}.owner-toggle svg{color:#8a6220;width:17px}.owner-toggle small{color:#59695f;grid-column:1/-1;font-weight:400}.empty{color:#5d6b63;text-align:center;padding:24px;font-size:13px}.mono{font-family:ui-monospace,monospace}.stack{gap:10px;display:grid}.item{border:1px solid #e3e9e5;border-radius:12px;justify-content:space-between;align-items:start;gap:14px;padding:14px;display:flex}.item p{color:#617067;margin-top:7px;font-size:12px}.item button,.actions button{color:#536158;background:#fff;border:1px solid #dce4df;border-radius:9px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:inline-flex}.row-action-cell{white-space:nowrap;width:1%}.row-action{color:#234d35;background:#f5faf6;border:1px solid #b9cbc0;border-radius:8px;padding:7px 10px;font-weight:700}.drawer-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08140d6b;justify-content:end;display:flex;position:fixed;inset:0}.drawer{background:#fafcfb;width:min(600px,100%);height:100%;padding:38px;position:relative;overflow-y:auto;box-shadow:-20px 0 60px #0a1e122e}.drawer .eyebrow{margin:0 0 6px}.drawer h2{font-size:27px}.drawer h3{align-items:center;gap:8px;margin:30px 0 12px;font-size:16px;display:flex}.drawer h3 svg{color:#318154;width:19px}.close{color:#738079;background:0 0;border:0;position:absolute;top:24px;right:24px}.detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.detail-grid div{background:#fff;border:1px solid #e3e9e5;border-radius:11px;gap:3px;padding:13px;display:grid}.detail-grid small{color:#5d6b63}.actions{flex-wrap:wrap;gap:8px;display:flex}.inline-form{gap:8px;margin-top:14px;display:flex}.inline-form label{flex:1}.inline-form input{max-width:190px}.timeline{gap:1px;display:grid}.timeline>div{grid-template-columns:16px 1fr;gap:8px;padding:8px 0;display:grid}.timeline>div>span{background:#4b9a68;border-radius:50%;width:8px;height:8px;margin-top:5px}.timeline>div>span.rejected{background:#c55a51}.timeline p{font-size:12px}@media (width<=900px){.admin-shell{grid-template-columns:1fr}aside{flex-direction:row;align-items:center;gap:12px;height:auto;padding:13px 18px;position:static}.brand-row{margin-right:auto;padding:0}.brand-row small{display:none}nav{display:flex}nav button,.logout{width:auto}.logout{margin:0}.content-grid{grid-template-columns:1fr}}@media (width<=620px){aside{flex-wrap:wrap;align-items:stretch}nav{order:3;width:100%}nav button{flex:1;justify-content:center}.workspace{padding:26px 15px}.stats{grid-template-columns:1fr}.panel-head{flex-direction:column;align-items:stretch}.search{width:100%}.drawer{padding:30px 20px}.detail-grid{grid-template-columns:1fr}.inline-form{flex-direction:column}.inline-form input{max-width:none}}
