@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&display=swap";html,body,#root{width:100%;height:100%;overflow:hidden}.wireframe-frame{background:#f6f7f9;border:0;width:100%;height:100%;display:block}:root{color:#17213a;font-synthesis:none;--blue:#078bea;--blue-dark:#006fc4;--border:#dce5ef;--muted:#64748b;--sidebar:236px;background:#f4f7fb;font-family:Be Vietnam Pro,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f4f7fb;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #90cdfb}.app-shell{min-height:100vh}.topbar{z-index:50;border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:14px;height:68px;padding:0 20px;display:flex;position:fixed;inset:0 0 auto}.brand{width:calc(var(--sidebar) - 8px);color:#17213a;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#02b9e9,#176df4);border-radius:12px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 5px 16px #178deb55}.brand b{color:#087fda;font-size:19px;display:block}.brand small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.top-search{border:1px solid #ccd8e7;border-radius:10px;flex:1;align-items:center;gap:8px;max-width:520px;height:42px;padding:0 12px;display:flex;position:relative}.top-search svg{color:#8494aa;width:18px}.top-search input{background:0 0;border:0;outline:0;width:100%}.search-results{border:1px solid var(--border);background:#fff;border-radius:12px;padding:6px;position:absolute;top:48px;left:0;right:0;box-shadow:0 16px 40px #1f365825}.search-results a{color:#24344f;border-radius:8px;justify-content:space-between;padding:11px;text-decoration:none;display:flex}.search-results a:hover{background:#f0f7ff}.search-results small{color:var(--muted)}.mode-badge{border-radius:20px;margin-left:auto;padding:7px 10px;font-size:11px;font-weight:600}.mode-badge.dev{color:#006c9d;background:#e1f6ff}.mode-badge.prod{color:#387443;background:#e8f7ec}.icon-button{color:#62748d;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;min-width:38px;height:38px;display:inline-grid}.icon-button:hover{color:#087dcc;background:#edf5fc}.icon-button svg{width:19px}.profile{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;display:flex}.profile>span,.avatar{color:#007ac2;background:#d9efff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.profile svg{width:15px}.sidebar{z-index:40;width:var(--sidebar);border-right:1px solid var(--border);background:#fff;flex-direction:column;display:flex;position:fixed;top:68px;bottom:0;left:0}.sidebar nav{padding:10px 9px 24px;overflow-y:auto}.sidebar section h3{text-transform:uppercase;color:#94a3b8;letter-spacing:.06em;margin:15px 10px 5px;font-size:10px}.sidebar section a{color:#5f7089;border-radius:8px;margin:1px 0;padding:9px 11px;font-size:12px;text-decoration:none;display:block}.sidebar section a:hover{background:#f3f7fb}.sidebar section a.active{color:#007bc7;background:#e9f6ff;font-weight:600}.sidebar footer{border-top:1px solid var(--border);color:#7c8ba1;margin-top:auto;padding:14px;font-size:10px}.sidebar-mobile,.mobile-menu,.nav-backdrop{display:none}.main-content{padding:68px 0 0 var(--sidebar);min-height:100vh}.breadcrumb{border-bottom:1px solid var(--border);color:#75859b;background:#fff;align-items:center;gap:8px;height:45px;padding:0 26px;font-size:12px;display:flex}.breadcrumb b{color:#bac5d3}.breadcrumb strong{color:#34435a}.screen{max-width:1600px;margin:auto;padding:24px 28px 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-header h1{margin:4px 0 7px;font-size:25px}.page-header p{color:var(--muted);margin:0;font-size:13px}.eyebrow{letter-spacing:.05em;text-transform:uppercase;color:#0786dd;font-size:10px;font-weight:700}.entity-summary,.count-badge{color:#0876b8;white-space:nowrap;background:#eaf6ff;border-radius:16px;padding:7px 10px;font-size:10px}.toolbar{justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}.toolbar-search{border:1px solid var(--border);background:#fff;border-radius:9px;align-items:center;gap:8px;width:min(360px,100%);height:40px;margin-right:auto;padding:0 11px;display:flex}.toolbar-search svg{color:#94a3b8;width:17px}.toolbar-search input{border:0;outline:0;width:100%}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 15px;font-size:12px;font-weight:600;display:inline-flex}.button svg{width:16px}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-dark)}.button.secondary{color:#485b75;background:#fff;border-color:#ccd9e8}.panel{border:1px solid var(--border);background:#fff;border-radius:14px;box-shadow:0 2px 6px #23446608}.panel>header{border-bottom:1px solid #e8eef5;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel h2{margin:0;font-size:15px}.panel header p{color:var(--muted);margin:5px 0 0;font-size:11px}.data-panel{margin-bottom:16px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{color:#728198;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:10px}th,td{border-bottom:1px solid #edf1f6;padding:12px 16px}td{color:#31435e;font-size:12px}tbody tr:hover{background:#f8fcff}tbody tr:last-child td{border-bottom:0}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.kpi-card{border:1px solid var(--border);background:#fff;border-radius:13px;align-items:center;gap:14px;height:112px;padding:17px;display:flex}.kpi-icon{color:#0787df;background:#e7f5ff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.kpi-icon svg{width:20px}.tone-1{color:#7c3ed2;background:#f1eaff}.tone-2{color:#e37c00;background:#fff2dc}.tone-3{color:#099769;background:#e2f9ef}.kpi-card p{color:#65758c;margin:0 0 6px;font-size:11px}.kpi-card strong{font-size:21px;display:block}.kpi-card small{color:#16a36f;font-size:9px}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:16px;display:grid}.chart-panel{height:370px}.bars{align-items:flex-end;gap:3.5%;height:270px;padding:30px 28px 0;display:flex}.bars i{background:linear-gradient(#3db7f5,#1687e0);border-radius:5px 5px 0 0;flex:1;min-width:8px}.quick-panel header span{color:var(--muted);font-size:10px}.quick-row{border-bottom:1px solid #edf1f6;align-items:center;gap:10px;padding:14px 18px;display:flex}.check{color:#13a46a;background:#e8f7ee;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.check svg{width:14px}.quick-row div{flex:1;min-width:0}.quick-row b{font-size:12px}.quick-row small{white-space:nowrap;text-overflow:ellipsis;color:#8390a3;margin-top:3px;font-size:9px;display:block;overflow:hidden}.quick-row strong{color:#e48000;font-size:12px}.kanban{grid-template-columns:repeat(4,minmax(230px,1fr));gap:12px;padding-bottom:12px;display:grid;overflow-x:auto}.kanban>section{background:#edf2f7;border-radius:12px;min-height:500px;padding:10px}.kanban>section>header{justify-content:space-between;padding:7px 5px 11px;font-size:12px;display:flex}.kanban>section>header span{background:#d8e2ed;border-radius:12px;padding:2px 7px}.kanban article{background:#fff;border:1px solid #dae3ed;border-radius:10px;margin-bottom:9px;padding:13px;box-shadow:0 2px 4px #213d5a0d}.kanban article small{color:#0a8bdd;font-size:9px}.kanban article h3{margin:8px 0;font-size:12px}.kanban article p{color:#728198;height:46px;font-size:10px;line-height:1.55;overflow:hidden}.kanban article footer{justify-content:space-between;align-items:center;display:flex}.kanban time{color:#8290a2;font-size:9px}.report-chart{height:430px}.line-chart{background:repeating-linear-gradient(#0000 0 64px,#e9eef4 65px);height:330px;padding:40px 30px 10px}.line-chart svg{width:100%;height:100%;overflow:visible}.line-chart .area{fill:url(#fill)}.line-chart .line{fill:none;stroke:#1589e8;stroke-width:4px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.setting-card{border:1px solid var(--border);background:#fff;border-radius:13px;align-items:center;gap:14px;padding:20px;display:flex}.setting-card>span{color:#0785dc;background:#e9f6ff;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.setting-card h2{margin:0 0 5px;font-size:14px}.setting-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.setting-card small{color:#0088da;margin-top:7px;display:block}.setting-card div{flex:1}.feed-layout{grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:15px;display:grid}.feed-aside{padding-bottom:10px}.feed-aside>h2{border-bottom:1px solid var(--border);padding:17px}.feed-aside>div{border-bottom:1px solid #eef2f6;padding:12px 17px}.feed-aside b{font-size:11px}.feed-aside p{color:var(--muted);font-size:9px;line-height:1.5}.spec-aware{display:contents;position:relative}.spec-popover{z-index:120;color:#fff;text-align:left;background:#10243d;border:1px solid #31506d;border-radius:12px;width:360px;max-height:440px;padding:14px;position:absolute;overflow:auto;transform:translateY(8px);box-shadow:0 18px 50px #0f1f36aa}.spec-popover-title{color:#6dd5ff;align-items:center;gap:8px;margin-bottom:9px;font-size:12px;font-weight:700;display:flex}.spec-entity{background:#18334f;border-radius:8px;margin:7px 0;padding:10px;display:block}.spec-entity b,.spec-entity code,.spec-entity small{display:block}.spec-entity b{font-size:12px}.spec-entity code{color:#78d4ff;margin:4px 0;font-size:10px}.spec-entity small{color:#b7c8d8;font-size:9px;line-height:1.5}.spec-features{flex-wrap:wrap;gap:5px;display:flex}.spec-features em{background:#284767;border-radius:5px;padding:4px 6px;font-size:9px;font-style:normal}.spec-popover>button{color:#fff;cursor:pointer;background:#09a5e9;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:38px;margin-top:10px;font-size:11px;font-weight:600;display:flex}.modal-backdrop{z-index:1000;background:#17213a99;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.comment-modal{background:#fff;border-radius:18px;width:min(570px,100%);max-height:calc(100vh - 24px);overflow:auto;box-shadow:0 30px 70px #121b2a66}.comment-modal>header{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:20px;display:flex}.comment-modal header div{flex:1}.comment-modal h2{margin:2px 0 5px;font-size:16px}.comment-modal header p{color:#64748b;margin:0;font-size:10px}.modal-icon{color:#0786da;background:#e9f7ff;border:1px solid #99dbff;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.modal-body{padding:20px}.modal-body label{margin-bottom:15px;font-size:11px;font-weight:600;display:block}.modal-body label span{color:#ec3150}.modal-body input,.modal-body select,.modal-body textarea{border:1px solid #cbd8e7;border-radius:10px;outline:0;width:100%;margin-top:7px;padding:11px 12px;display:block}.modal-body textarea{resize:vertical;min-height:92px}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:#0796ed;box-shadow:0 0 0 3px #dff3ff}.form-error{color:#cf2340;background:#fff0f2;border:1px solid #ffc3cc;border-radius:8px;padding:10px;font-size:11px}.comment-modal>footer{justify-content:flex-end;gap:8px;padding:0 20px 20px;display:flex}@media (width<=1100px){:root{--sidebar:210px}.profile b,.mode-badge{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.quick-panel{min-height:300px}.settings-grid{grid-template-columns:1fr}}@media (width<=760px){:root{--sidebar:0}.topbar{gap:5px;height:60px;padding:0 10px}.brand{width:auto}.brand small,.brand span:last-child{display:none}.brand-mark{width:36px;height:36px}.mobile-menu{display:grid}.top-search{flex:0 180px;height:38px;margin-left:auto}.top-search input{font-size:11px}.profile{display:none}.sidebar{z-index:80;width:min(310px,86vw);transition:transform .2s;top:0;transform:translate(-105%)}.sidebar.open{transform:none}.sidebar-mobile{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:60px;padding:0 14px;display:flex}.nav-backdrop{z-index:70;background:#15233c80;border:0;display:block;position:fixed;inset:0}.main-content{padding:60px 0 0}.breadcrumb{height:40px;padding:0 15px}.screen{padding:18px 14px 40px}.page-header{display:block}.page-header h1{font-size:21px}.entity-summary{margin-top:12px;display:inline-block}.toolbar{flex-wrap:wrap;justify-content:flex-start}.toolbar-search{order:-1;width:100%}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi-card{gap:9px;height:99px;padding:12px}.kpi-icon{width:37px;height:37px}.kpi-card strong{font-size:17px}.dashboard-grid{display:block}.chart-panel{height:320px;margin-bottom:12px}.bars{height:220px;padding:20px 15px 0}.feed-layout{display:block}.feed-aside{margin-top:12px}.settings-grid{display:block}.setting-card{margin-bottom:10px;padding:15px}.setting-card .button{display:none}.report-kpis{grid-template-columns:1fr}.report-chart{height:350px}.line-chart{height:250px;padding:25px 12px}.spec-popover{width:auto;max-height:60vh;position:fixed;top:auto;bottom:10px;transform:none;left:10px!important;right:10px!important}.comment-modal{border-radius:15px}.modal-body{padding:15px}.modal-backdrop{align-items:end;padding:0}.comment-modal{border-radius:18px 18px 0 0;width:100%;max-height:92vh}.comment-modal>header{padding:16px}.comment-modal>footer{border-top:1px solid var(--border);background:#fff;padding:12px 15px;position:sticky;bottom:0}}@media (width<=430px){.top-search{flex-basis:120px}.top-search input::placeholder{color:#0000}.topbar>a.icon-button{display:none}.kpi-grid{grid-template-columns:1fr}.kpi-card{height:94px}.page-header p{line-height:1.6}.button{min-height:44px}.toolbar>.button{flex:1}.data-panel header{padding:14px}.data-panel header p{display:none}.table-scroll{overflow:visible}table,thead,tbody,tr,td{min-width:0;display:block}thead{display:none}tbody tr{border:1px solid var(--border);border-radius:10px;margin:10px;padding:8px}td{text-align:right;border-bottom:1px dashed #e6ebf1;justify-content:space-between;gap:15px;padding:8px;display:flex}td:before{content:attr(data-label);text-transform:uppercase;color:#8492a6;text-align:left;font-size:9px;font-weight:700}td:last-child{display:none}}
