:root{color-scheme:light;--ink:#101713;--sidebar:#101713;--lime:#d9ff55;--lime-deep:#c5ef3d;--bg:#f5f6f3;--surface:#fff;--muted:#68716b;--line:#e2e5df;--green:#168455;--red:#c54343;--amber:#a66a12;--blue:#286cbb;--shadow:0 10px 34px rgba(16,23,19,.07);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}
.login-screen{min-height:100vh;background:radial-gradient(circle at 70% 10%,#173125 0,transparent 30%),#09120e;color:#f5f7f4;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center;padding:7vw max(6vw,28px)}.login-brand,.brand{color:inherit;text-decoration:none;font-size:30px;font-weight:900;letter-spacing:-1.8px}.login-brand span,.brand>span{color:var(--lime)}.login-intro{max-width:680px}.kicker,.eyebrow{font-size:10px;line-height:1.2;letter-spacing:2px;font-weight:850;color:#789083;margin:0 0 14px}.login-intro .kicker,.login-card .kicker{color:var(--lime)}.login-intro h1{font-size:clamp(52px,6vw,86px);line-height:.93;letter-spacing:-5px;margin:42px 0 22px}.login-intro h1 em{font-style:normal;color:var(--lime)}.login-intro>p{color:#a6b9ad;font-size:18px;line-height:1.65;max-width:590px}.privacy-copy{margin-top:34px;padding-top:25px;border-top:1px solid #26372e;color:#9daf9f;display:flex;gap:15px;line-height:1.5}.privacy-copy span{color:var(--lime)}.login-card{max-width:460px;width:100%;justify-self:center;background:#122219;border:1px solid #2a4034;border-radius:26px;padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.login-card h2{font-size:28px;margin:0 0 26px}.login-card label{display:block;color:#aec0b4;font-size:12px;font-weight:700;margin:17px 0}.login-card input{display:block;width:100%;margin-top:8px;background:#0d1812;border:1px solid #334b3e;border-radius:12px;color:white;padding:14px;outline:none}.login-card input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(217,255,85,.12)}.form-message{min-height:20px;color:#ff877f;font-size:12px}.development-code{padding:12px;border:1px dashed #799432;border-radius:10px;color:var(--lime)}
.button{border:0;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:9px}.button.primary{background:var(--lime);color:var(--ink)}.button.primary:hover{background:var(--lime-deep)}.button.secondary{background:white;color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px rgba(16,23,19,.04)}.button.secondary:hover{background:#fafbf9}.button.wide{width:100%;justify-content:space-between;margin-top:12px;padding:14px 16px;border-radius:12px}.text-button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:650;padding:5px}.text-button:hover{color:var(--ink)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--sidebar);color:#d8e0da;padding:23px 16px 18px;display:flex;flex-direction:column;z-index:40}.brand{padding:0 10px 25px;display:flex;align-items:baseline;gap:7px}.brand small{font-size:9px;letter-spacing:1.5px;color:#67796e}.sidebar nav{overflow-y:auto;scrollbar-width:none}.nav-title{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#5e7166;margin:20px 12px 7px}.nav-item{width:100%;border:0;background:transparent;color:#9cac9f;border-radius:8px;padding:10px 11px;margin:1px 0;text-align:left;display:flex;align-items:center;gap:11px;font-size:12px}.nav-item i{width:18px;text-align:center;font-style:normal;font-size:15px}.nav-item:hover{background:#19251f;color:white}.nav-item.active{background:var(--lime);color:var(--ink);font-weight:800}.nav-badge{margin-left:auto;background:#ee6d63;color:white;border-radius:10px;padding:1px 6px;font-size:9px}.sidebar-footer{margin-top:auto;border-top:1px solid #27342d;padding:17px 11px 0;display:flex;gap:10px;align-items:center}.sidebar-footer div{display:flex;flex-direction:column}.sidebar-footer strong{font-size:11px}.sidebar-footer small{font-size:9px;color:#718278;margin-top:3px}.online-dot{width:8px;height:8px;border-radius:50%;background:#43d693;box-shadow:0 0 0 4px rgba(67,214,147,.1)}
.main-column{grid-column:2;min-width:0}.topbar{height:64px;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:flex;align-items:center;padding:0 28px}.breadcrumb{display:flex;flex-direction:column}.breadcrumb strong{font-size:13px}.breadcrumb span{font-size:10px;color:var(--muted);margin-top:2px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.environment{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-right:10px}.environment i{width:7px;height:7px;background:#32b475;border-radius:50%}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted)}.icon-button:hover{color:var(--ink);background:var(--bg)}.menu-button{display:none}.profile-button{border:0;background:transparent;display:flex;align-items:center;gap:8px;color:var(--ink)}.profile-button span{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:11px}.profile-button b{font-size:11px}.workspace{padding:38px clamp(24px,4vw,58px) 80px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.page-head h1{font-size:28px;line-height:1.1;letter-spacing:-1.3px;margin:0}.page-head h1 span{color:#698320}.page-head>div>p:last-child{color:var(--muted);font-size:13px;margin:8px 0 0}.eyebrow{color:#7c867f;margin-bottom:9px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;min-height:124px;box-shadow:0 1px 2px rgba(16,23,19,.02)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.metric-icon{width:27px;height:27px;border-radius:8px;background:#f1f5e8;color:#657f18;display:grid;place-items:center}.metric strong{display:block;font-size:29px;letter-spacing:-1.4px;margin:18px 0 5px}.metric small{color:var(--muted);font-size:10px}.metric small.good{color:var(--green)}.metric small.warn{color:var(--amber)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:15px}.card,.table-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,23,19,.02)}.card{padding:19px}.span-two{grid-column:1/-1}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.card-head h2{font-size:14px;margin:0}.card-head p{font-size:10px;color:var(--muted);margin:5px 0 0}.pill{font-size:8px;font-weight:850;letter-spacing:1px;color:var(--green);background:#e9f7ef;border-radius:12px;padding:5px 8px}.chart{height:245px;min-width:0}.chart svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:#e9ebe7;stroke-width:1}.chart-users{fill:none;stroke:#8aaa28;stroke-width:2.5}.chart-events{fill:none;stroke:#101713;stroke-width:2}.chart-area{fill:url(#activityFill)}.chart-label{font-size:9px;fill:#89918c}.chart-legend{display:flex;gap:18px;color:var(--muted);font-size:10px;margin-top:-5px}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.status-list{display:flex;flex-direction:column}.status-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.status-row:first-child{border-top:0}.status-row>i{width:8px;height:8px;border-radius:50%;background:#38b876}.status-row div{display:flex;flex-direction:column}.status-row strong{font-size:11px}.status-row small{font-size:9px;color:var(--muted);margin-top:3px}.status-row b{margin-left:auto;font-size:10px;font-weight:650;color:var(--muted)}
.filterbar{display:flex;gap:10px;margin-bottom:13px}.search{flex:1;display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:9px;padding:0 12px;color:var(--muted)}.search input{width:100%;border:0;outline:0;background:transparent;padding:10px 0;font-size:12px}.filterbar select{border:1px solid var(--line);border-radius:9px;background:white;color:var(--muted);padding:0 34px 0 11px;font-size:11px}.table-card,.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#808983;background:#fafbf9;padding:12px 15px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px 15px;border-bottom:1px solid #eceeea;vertical-align:middle;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafbf9}.data-table .primary-cell{font-weight:700}.data-table .primary-cell small{display:block;color:var(--muted);font-weight:400;margin-top:4px;max-width:310px;overflow:hidden;text-overflow:ellipsis}.status-tag{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750;padding:4px 7px;border-radius:10px;background:#eff1ee;color:#66706a}.status-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-tag.active,.status-tag.confirmed,.status-tag.resolved{background:#e9f7ef;color:var(--green)}.status-tag.suspended,.status-tag.cancelled,.status-tag.open{background:#fff0ef;color:var(--red)}.status-tag.planning{background:#edf4fc;color:var(--blue)}.status-tag.dismissed,.status-tag.expired{background:#fff5e5;color:var(--amber)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-button{border:1px solid var(--line);background:white;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:700;color:var(--muted)}.row-button:hover{color:var(--ink);background:var(--bg)}.row-button.danger{color:var(--red)}.row-button.good{color:var(--green)}.empty{padding:40px;text-align:center;color:var(--muted);font-size:12px}.avatar-cell{display:flex;align-items:center;gap:9px}.avatar{width:29px;height:29px;border-radius:50%;background:#e8ede1;color:#446019;display:grid;place-items:center;font-weight:800;font-size:9px;object-fit:cover}.link-button{border:0;background:transparent;color:inherit;text-align:left;padding:0;font-weight:inherit}
.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.bars{display:flex;flex-direction:column;gap:16px;padding:9px 0}.bar-row{display:grid;grid-template-columns:80px 1fr 30px;gap:10px;align-items:center;font-size:10px}.bar-track{height:8px;background:#eef0ec;border-radius:8px;overflow:hidden}.bar-fill{height:100%;background:var(--lime-deep);border-radius:8px}.donut-layout{display:flex;align-items:center;justify-content:center;gap:30px;min-height:220px}.donut{width:140px;height:140px;border-radius:50%;display:grid;place-items:center}.donut:after{content:"";width:84px;height:84px;border-radius:50%;background:white}.donut-legend{display:flex;flex-direction:column;gap:10px;font-size:10px}.donut-legend span{display:flex;align-items:center;gap:7px}.donut-legend i{width:7px;height:7px;border-radius:50%}.privacy-panel{background:#f5f8ed;border-radius:10px;padding:22px;color:#596459;font-size:12px;line-height:1.7;min-height:220px;display:flex;align-items:center}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.settings-card h2{font-size:13px;margin:0 0 16px}.setting{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:11px 0;font-size:11px}.setting:first-of-type{border-top:0}.setting span{color:var(--muted)}.setting strong{text-align:right}.notice-card{margin-top:16px;background:#f2f6e7;border:1px solid #dbe4c2;border-radius:12px;padding:18px;font-size:12px}.notice-card p{color:#68745f;line-height:1.6;margin-bottom:0}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.role-card{background:white;border:1px solid var(--line);border-radius:12px;padding:17px}.role-card i{width:30px;height:30px;border-radius:8px;background:#eff5df;display:grid;place-items:center;font-style:normal}.role-card h3{font-size:12px;margin:17px 0 5px}.role-card p{font-size:10px;color:var(--muted);margin:0}.table-section{margin-top:15px;padding:0}.table-section .card-head{padding:18px;margin:0;border-bottom:1px solid var(--line)}.permission-yes{color:var(--green);font-weight:900}.permission-no{color:#b8beba}.toast{position:fixed;right:24px;top:78px;z-index:80;background:var(--ink);color:white;border-radius:9px;padding:12px 15px;box-shadow:var(--shadow);font-size:11px;max-width:390px}.toast.error{background:#6b2020}.detail-dialog{border:0;border-radius:18px;padding:0;width:min(600px,calc(100vw - 28px));box-shadow:0 30px 90px rgba(16,23,19,.25)}.detail-dialog::backdrop{background:rgba(8,15,11,.55);backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:15px;top:15px;border:1px solid var(--line);background:white;border-radius:8px;width:31px;height:31px}.detail-content{padding:28px}.detail-content h2{font-size:23px;margin:6px 0}.detail-content>p{color:var(--muted);font-size:12px}.detail-profile{display:flex;align-items:center;gap:13px}.detail-profile .avatar{width:48px;height:48px;font-size:14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:23px}.detail-stat{background:var(--bg);border-radius:9px;padding:13px}.detail-stat small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.detail-stat strong{font-size:12px}.detail-list{margin-top:20px}.detail-list h3{font-size:12px}.detail-list p{font-size:11px;color:var(--muted);line-height:1.7}.detail-actions{display:flex;gap:7px;margin-top:22px;flex-wrap:wrap}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.analytics-grid{grid-template-columns:1fr}.data-table{min-width:850px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:250px;box-shadow:20px 0 60px rgba(0,0,0,.2)}body.menu-open .sidebar{transform:translateX(0)}.main-column{display:block}.menu-button{display:inline-block;margin-right:10px}.topbar{padding:0 14px}.environment,.profile-button b{display:none}.workspace{padding:27px 15px 60px}.page-head{align-items:flex-start}.page-head h1{font-size:24px}.login-screen{display:block;padding:45px 20px}.login-intro{margin-bottom:38px}.login-intro h1{font-size:54px;letter-spacing:-3px}.login-card{padding:27px 21px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:470px){.metric-grid,.role-grid{grid-template-columns:1fr}.page-head{display:block}.page-head>.button{margin-top:16px}.filterbar{flex-direction:column}.filterbar select{height:39px}.topbar-actions{gap:5px}.breadcrumb span{display:none}}
@media(prefers-reduced-motion:no-preference){.nav-item,.button,.row-button,.icon-button{transition:.16s ease}.toast{animation:toast-in .18s ease}@keyframes toast-in{from{opacity:0;transform:translateY(-6px)}}}

/* JoinUp admin layout follows the supplied 2026 template: compact Inter type, 244 px rail and lime focus. */
.app-shell{grid-template-columns:244px minmax(0,1fr)}.sidebar{width:244px;padding:18px 14px 16px}.main-column{grid-column:2}.image-brand{display:flex;align-items:center;gap:10px;letter-spacing:-.5px}.image-brand img{width:38px;height:38px;border-radius:11px;object-fit:cover;background:white}.image-brand strong{font-size:18px}.login-brand.image-brand img{width:54px;height:54px;border-radius:15px}.login-brand.image-brand strong{font-size:28px}.brand{align-items:center;padding-bottom:14px}.brand small{margin-left:auto}.nav-title{font-size:9px;margin:16px 12px 5px}.nav-item{position:relative;font-size:12px;padding:8px 11px;border-radius:7px}.nav-item.active{background:rgba(217,255,85,.09);color:var(--lime)}.nav-item.active:before{content:"";position:absolute;left:-14px;width:3px;height:24px;background:var(--lime);border-radius:0 4px 4px 0}.topbar{height:62px}.global-search{margin-left:auto;margin-right:18px;width:min(330px,28vw);display:flex;align-items:center;gap:8px;background:#f5f6f3;border:1px solid var(--line);border-radius:8px;padding:0 11px;color:var(--muted)}.global-search input{width:100%;border:0;outline:0;background:transparent;padding:9px 0;font-size:11px}.topbar-actions{margin-left:0}.head-actions{display:flex;gap:8px;align-items:center}.subsection-title{font-size:15px;margin:28px 0 12px}
.editor-dialog{border:0;border-radius:16px;padding:0;width:min(620px,calc(100vw - 28px));max-height:90vh;box-shadow:0 30px 90px rgba(16,23,19,.28)}.editor-dialog::backdrop{background:rgba(8,15,11,.55);backdrop-filter:blur(3px)}.editor-dialog>form,.editor-dialog>div{padding:28px}.editor-dialog h2{font-size:24px;margin:3px 0 22px}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-fields label,.chat-dialog label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.editor-fields label.wide{grid-column:1/-1}.editor-fields input,.editor-fields select,.editor-fields textarea,.chat-dialog textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:10px 11px;outline:0}.editor-fields textarea,.chat-dialog textarea{min-height:90px;resize:vertical}.editor-fields input:focus,.editor-fields select:focus,.editor-fields textarea:focus,.chat-dialog textarea:focus{border-color:#a9cd34;box-shadow:0 0 0 3px rgba(197,239,61,.16)}.editor-fields .check{flex-direction:row;align-items:center;background:var(--bg);padding:11px;border-radius:8px}.editor-fields .check input{width:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.chat-messages{display:flex;flex-direction:column;gap:9px;max-height:50vh;overflow:auto;padding:4px 2px 18px}.chat-message{max-width:82%;padding:10px 12px;border-radius:12px;background:#f0f2ee;font-size:11px;line-height:1.5}.chat-message.admin{align-self:flex-end;background:#e8f5ba}.chat-message small{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.chat-dialog form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;border-top:1px solid var(--line);padding-top:16px}.chat-dialog textarea{min-height:64px}.table-image{width:38px;height:38px;border-radius:9px;object-fit:cover;background:#eef1eb}.entity-cell{display:flex;align-items:center;gap:10px}.role-card .row-actions{justify-content:flex-start;margin-top:12px}.status-tag.waiting{background:#edf4fc;color:var(--blue)}.status-tag.closed{background:#eff1ee;color:#66706a}
@media(max-width:900px){.global-search{display:none}}@media(max-width:760px){.main-column{grid-column:auto}.editor-fields{grid-template-columns:1fr}.editor-fields label.wide{grid-column:auto}.head-actions{margin-top:14px;flex-wrap:wrap}.chat-dialog form{grid-template-columns:1fr}}
