:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202c29;background:#f5f6f3;font-synthesis:none;--green:#245d49;--muted:#77817c;--line:#e6eae4}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9ab7a8}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#183c32;color:#c3d1ca;padding:35px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:29px;letter-spacing:-1.3px;font-weight:650;margin:0 12px 57px}.brand-icon{display:grid;place-items:center;width:38px;height:38px;background:#cfe99b;color:#183c32;border-radius:11px;font-size:35px;line-height:1}.brand-caption{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:#a3b9ae}.nav-label{font-size:9px;letter-spacing:1.7px;margin:0 14px 15px;color:#8eab9e}.nav-button{display:flex;gap:13px;align-items:center;border:0;background:none;color:inherit;width:100%;padding:14px 15px;border-radius:8px;text-align:left;font-size:13px;margin-bottom:6px}.nav-button span{font-size:20px;width:20px}.nav-button:hover{background:#25483e}.nav-button.active{background:#315548;color:#e6f3d4}.sidebar-bottom{margin-top:auto;border-top:1px solid #33554a;padding:24px 13px 0;font-size:12px}.sidebar-bottom p{font-size:11px;color:#9bb1a6;margin:10px 0 22px}.workspace-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#cfe99b;margin-right:7px}.version{font-size:10px;color:#8da89b}.main-shell{margin-left:230px}.topbar{height:75px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fbfcf9;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.topbar strong{color:#38453e;font-weight:500}.breadcrumb{margin:0 15px;color:#abb3aa}.topbar-right{display:flex;gap:18px;align-items:center}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e6eadf;color:#526447;font-size:10px;font-weight:700}main{max-width:1560px;margin:auto;padding:25px 40px 20px}.demo-banner{background:#f0eee2;color:#746747;display:flex;justify-content:space-between;gap:15px;font-size:11px;border:1px solid #e8e4d4;padding:10px 13px;border-radius:6px}.demo-banner strong{font-weight:600}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:34px 0 28px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#71816f;font-weight:650}h1{font-size:32px;letter-spacing:-1.1px;margin:10px 0;font-weight:600}.page-heading p{font-size:13px;color:var(--muted);margin:0}.date-label{font-size:11px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px}.stat-label{display:flex;justify-content:space-between;font-size:11px;color:#718077}.stat-number{font-size:31px;letter-spacing:-1px;margin:13px 0 5px}.stat-note{font-size:10px;color:#8a948c}.stat.attention{background:#f5f0e3;border-color:#e9dfc8}.stat.attention .stat-number{color:#8e6c32}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}h2{font-size:15px;font-weight:600;margin:0;letter-spacing:-.2px}.section-heading>span{font-size:11px;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.tool-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;text-align:left;color:inherit;transition:border-color .15s,transform .15s}.tool-card:hover{border-color:#9cb49d;transform:translateY(-2px)}.tool-card.selected{border-color:#245d49;box-shadow:0 0 0 1px #245d49}.tool-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.tool-icon{width:34px;height:34px;border-radius:9px;background:#eef2e8;display:grid;place-items:center;color:#587346;font-size:18px}.tool-card h3{font-size:13px;margin:0 0 6px}.tool-card p{font-size:10px;color:var(--muted);margin:0 0 18px}.tool-meta{display:flex;justify-content:space-between;font-size:10px;color:#829080;gap:8px}.badge{font-size:9px;display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:5px 7px;white-space:nowrap}.ok{background:#edf4e9;color:#4c7248}.warning{background:#fbf1da;color:#94722e}.error{background:#fae8e5;color:#ac5448}.unknown{background:#eff0ee;color:#7d857b}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.content-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(245px,1fr);gap:20px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-heading{padding:22px;display:flex;align-items:center;justify-content:space-between}.panel-heading p{font-size:10px;color:var(--muted);margin:7px 0 0}.small-tag{background:#f1f3ee;color:#7a8474;font-size:10px;padding:5px 8px;border-radius:5px}.filters{display:flex;gap:9px;flex-wrap:wrap;padding:0 22px 18px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;flex:1;min-width:140px;color:#859081}.search input{border:0;width:100%;min-width:0;font-size:11px;background:none}.search input:focus{outline:0}select{border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px;color:#687361;font-size:11px}.attention-filter{display:flex;gap:5px;align-items:center;font-size:10px;color:#6c766a}.attention-filter input{accent-color:var(--green)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;min-width:600px}th{background:#f8f9f5;color:#7d8878;font-weight:500;font-size:10px;padding:12px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}th:first-child,td:first-child{padding-left:22px}td{padding:18px 14px;border-bottom:1px solid #f0f2ed;font-size:11px}tbody tr:last-child td{border-bottom:0}.customer-button{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:0;color:inherit}.customer-initials{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#eef0e8;color:#637059;font-size:11px}.customer-name{display:block;font-size:11px;font-weight:600;white-space:nowrap}.project-name{display:block;font-size:9px;color:#92998e;margin-top:5px;white-space:nowrap}.time{display:block;font-size:9px;color:#8b9585;margin-top:7px}.not-used{color:#b3baae}.matrix-footer{display:flex;flex-wrap:wrap;gap:14px;background:#fbfcf9;border-top:1px solid var(--line);padding:13px 22px;font-size:9px;color:#86917f}.matrix-footer span{display:flex;gap:5px;align-items:center}.matrix-footer .dot.ok{color:#658355}.matrix-footer .dot.warning{color:#b48d43}.matrix-footer .dot.error{color:#b26555}.matrix-footer .dot.unknown{color:#969e90}.signal-symbol{font-size:24px;color:#889780}.signal-entry{padding:15px 22px;border-top:1px solid #f0f2ed;display:flex;gap:11px}.event-dot{height:9px;width:9px;border-radius:50%;flex-shrink:0;margin-top:4px}.signal-title{font-size:11px;font-weight:500;margin:0 0 6px;line-height:1.5}.signal-customer{font-size:10px;color:#7e8878;margin-bottom:6px}.signal-time{font-size:9px;color:#969e90}.signal-note{padding:15px 22px;background:#fafbf7;border-top:1px solid var(--line);font-size:10px;line-height:1.65;color:#8a947f}.signal-info{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 28px;margin-top:24px;border:1px solid #dce5d1;background:#ebf0e3;border-radius:10px}.signal-info h2{font-size:18px;margin-top:8px}.signal-info p{font-size:11px;color:#7d8873;max-width:500px;line-height:1.7;margin-bottom:0}.primary-button{background:#255b45;color:white;border:0;border-radius:6px;padding:13px 16px;font-size:11px;white-space:nowrap;display:flex;gap:20px;align-items:center}.primary-button:hover{background:#194832}.primary-button:disabled{opacity:.6;cursor:wait}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#929b8b;padding:10px 0}footer span{text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.empty{text-align:center;color:#87917f;padding:30px}.hidden{display:none!important}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;max-width:520px;width:calc(100% - 40px);color:inherit}dialog::backdrop{background:#16332866}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h2{font-size:20px}.dialog-header button{border:0;background:none;font-size:28px;color:#7a8676}#dialog-project,.dialog-note{color:#87917e;font-size:11px;line-height:1.7}.detail-tool{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.detail-tool p{font-size:10px;color:#929b89;margin:6px 0 0}
@media(min-width:1600px){main{padding-top:35px}.tool-card{padding:23px}.stat{padding:24px}}@media(max-width:1180px){.sidebar{width:190px;padding:30px 12px}.main-shell{margin-left:190px}main{padding:22px}.topbar{padding:0 22px}.content-grid{grid-template-columns:1fr}.signal-panel #signal-list{display:grid;grid-template-columns:repeat(2,1fr)}.date-label{display:none}.tool-meta{flex-direction:column}}@media(max-width:720px){.sidebar{position:static;width:auto;padding:16px 20px}.brand{font-size:25px;margin:0 0 16px}.brand-caption,.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.nav-button{width:auto;white-space:nowrap;padding:9px;font-size:10px;margin:0}.nav-button span{font-size:16px;width:auto}.main-shell{margin-left:0}.topbar{height:50px;font-size:10px}.topbar-right{font-size:0}main{padding:16px}.demo-banner{font-size:10px}.demo-banner>span:last-child{display:none}.page-heading{margin:25px 0 22px}h1{font-size:27px}.stats,.tool-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat-label{font-size:10px}.stat-number{font-size:27px}.section-heading>span{display:none}.tool-card{padding:15px}.tool-card-top{margin-bottom:13px}.tool-meta{flex-direction:row;font-size:9px}.signal-panel #signal-list{grid-template-columns:1fr}.signal-info{flex-direction:column;align-items:flex-start;padding:20px}.signal-info p{font-size:11px}footer{flex-direction:column;gap:7px}footer span{text-align:left}.panel-heading{padding:18px}.filters{padding:0 18px 15px}}

.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.role-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.role-card h2{margin:12px 0 8px}.role-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}
.user-actions{display:flex;gap:8px;flex-wrap:wrap}
.secondary-button{border:1px solid #dce3d6;background:#f8faf5;color:#527044;border-radius:6px;padding:8px 10px;font-size:11px}
.secondary-button:hover{background:#edf2e7}
.form-field{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-top:18px}
.form-field input,.form-field select{width:100%;padding:11px;border:1px solid #dce3d6;border-radius:6px;background:#fff;font-size:13px}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.form-error{color:#a24e43;font-size:12px;line-height:1.6;min-height:18px}
#user-feedback{font-size:12px;line-height:1.7;color:#587044;min-height:20px}
@media(max-width:720px){.role-grid{grid-template-columns:1fr;gap:10px}.role-card{padding:18px}#users-section .panel-heading{gap:15px;align-items:flex-start;flex-wrap:wrap}.user-actions{flex-direction:column;align-items:flex-start}}

.login-shell{min-height:100vh;background:#183c32;display:grid;place-items:center;padding:24px}.login-card{background:#f8faf5;width:min(460px,100%);padding:36px;border-radius:16px}.login-card .brand-icon{margin-bottom:24px}.login-card h1{font-size:28px}.login-card>p{font-size:12px;color:var(--muted);line-height:1.7}.login-card .primary-button{width:100%;justify-content:space-between}.login-card .dialog-note{margin-top:24px}@media(max-width:720px){.topbar-right{font-size:10px;gap:6px;flex-wrap:wrap}.topbar{height:auto;min-height:65px;gap:10px}.topbar-right #session-user{display:none}.topbar-right button{font-size:9px;padding:6px}}
