:root{--font: "Manrope", "Segoe UI", Arial, sans-serif;--fs-base: 16px;--lh-base: 1.55;--page-gradient: linear-gradient( 160deg, #eef3fa 0%, #f7f9fc 42%, #eff4fb 100% );--sidebar-bg: rgba(255, 255, 255, .62);--sidebar-blur: 18px;--card-bg: rgba(255, 255, 255, .72);--card-blur: 16px;--card-border: 1px solid rgba(255, 255, 255, .9);--card-radius: 24px;--card-padding: 28px;--card-shadow: 0 10px 30px rgba(21, 34, 52, .07);--divider: rgba(21, 34, 52, .06);--hairline: rgba(21, 34, 52, .08);--panel-bg: rgba(255, 255, 255, .55);--panel-border: 1px solid rgba(21, 34, 52, .07);--panel-radius: 20px;--muted-bg: rgba(21, 34, 52, .05);--ink: #0b1a28;--ink-body: #152234;--ink-muted: #3a4c63;--ink-faint: #6b7c8f;--ink-ghost: #8c9aaa;--accent: #1684ed;--accent-light: #6fb6ff;--accent-grad: linear-gradient(140deg, #1684ed, #4e9bee);--accent-grad-soft: linear-gradient(145deg, #1684ed, #6fb6ff);--accent-ink: #0f6fc9;--accent-soft: rgba(22, 132, 237, .12);--accent-shadow: 0 12px 26px rgba(22, 132, 237, .28);--danger: #c22f3c;--danger-soft: rgba(213, 59, 72, .14);--warning: #b5761a;--warning-soft: rgba(232, 163, 61, .18);--success: #1e7f58;--success-soft: rgba(63, 185, 132, .16);--neutral-soft: rgba(21, 34, 52, .07);--sidebar-width: 296px;--page-pad: 40px 44px 40px 64px;--gap: 22px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--bg: #f4f6f9;--surface: #ffffff;--text: var(--ink-body);--text-muted: var(--ink-faint);--border: var(--hairline);--border-strong: rgba(21, 34, 52, .14)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--page-gradient);background-attachment:fixed;color:var(--ink-body);font-size:var(--fs-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--accent-ink);text-decoration:none}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.03em;color:var(--ink)}h1{font-size:44px;line-height:1.06;letter-spacing:-.045em}h2{font-size:21px}h3{font-size:17px}ul{margin:0;padding:0;list-style:none}.app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);align-items:start;min-height:100vh;background:linear-gradient(90deg,rgba(255,255,255,.62) 0 var(--sidebar-width),transparent var(--sidebar-width))}.sidebar{position:sticky;top:0;height:100vh;padding:26px 22px;display:flex;flex-direction:column;gap:26px;background:var(--sidebar-bg);backdrop-filter:blur(var(--sidebar-blur));-webkit-backdrop-filter:blur(var(--sidebar-blur));border-right:1px solid rgba(21,34,52,.07);overflow-y:auto}.brand{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-logo{width:44px;height:44px;border-radius:15px;background:var(--accent-grad-soft);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #1684ed57;flex:none}.brand-logo span{color:#fff;font-size:15px;font-weight:800}.brand-title{display:flex;align-items:center;gap:12px;min-width:0}.brand-name{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.brand span{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.nav{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.nav a{padding:13px 16px;border-radius:15px;font-size:16px;font-weight:600;color:var(--ink-muted);display:flex;align-items:center;gap:13px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.nav a:hover{background:#ffffffb3;color:var(--ink)}.nav a.active{background:var(--accent-grad);color:#fff;font-weight:700;box-shadow:var(--accent-shadow)}.nav a.active svg{stroke:#fff}.nav svg{flex:none;stroke:#7a8ca3}.nav-group{margin-top:14px;padding:10px 16px 4px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-ghost)}.sidebar-footer{margin-top:auto;flex:0 0 auto;background:var(--card-bg);border:1px solid var(--panel-border);border-radius:var(--panel-radius);padding:18px;display:flex;flex-direction:column;gap:14px}.user-card{display:flex;align-items:center;gap:12px}.user-avatar{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#152234,#3a4c63);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}.user-name{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:13px;color:var(--ink-faint)}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebar-actions button{background:var(--muted-bg);border:none;border-radius:12px;padding:11px;font-size:13px;font-weight:700;color:var(--ink-muted);cursor:pointer;font-family:var(--font)}.sidebar-actions button:hover{background:#1522341a}.main{min-width:0;padding:var(--page-pad)}.main>*{min-width:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:30px}.topbar .eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.topbar .subtitle{margin-top:12px;font-size:16px;color:var(--ink-faint)}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topbar-pill{background:#ffffffc7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:14px 20px;font-size:15px;font-weight:700;color:#2a3c53;box-shadow:0 8px 24px #1522340f}.content{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.content>*{min-width:0}.grid{display:grid;gap:var(--gap);min-width:0}.grid>*{min-width:0}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-2-1{grid-template-columns:minmax(0,1fr) minmax(0,1.24fr)}.grid.cols-client{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.grid.cols-1-2{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}.row.between{justify-content:space-between}.spacer{flex:1 1 auto}.card{background:var(--card-bg);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow);min-width:0}.card+.card{margin-top:0}.card.flat{background:#ffffff8c;border:1px solid var(--panel-border);box-shadow:none}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.card-header .hint{font-size:13px;color:var(--ink-faint)}.card-header h2{font-size:21px;font-weight:800;letter-spacing:-.03em}.card-header .sub{font-size:14px;color:var(--ink-faint);margin-top:4px}h2.card-title{font-size:21px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.card-sub{font-size:14px;color:var(--ink-faint)}.hint{font-size:13px;color:var(--ink-faint)}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--panel-radius);padding:20px;min-width:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.kpi-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-tile{background:var(--card-bg);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));border:var(--card-border);border-radius:var(--card-radius);padding:26px 28px;box-shadow:var(--card-shadow);min-width:0}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.kpi-label{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.kpi-icon{width:38px;height:38px;border-radius:13px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex:none}.kpi-icon.danger{background:var(--danger-soft)}.kpi-icon.warning{background:var(--warning-soft)}.kpi-icon.success{background:var(--success-soft)}.kpi-value{font-size:44px;font-weight:800;letter-spacing:-.05em;color:#0f1b2a;line-height:1}.kpi-note{margin-top:12px;font-size:14px;color:var(--ink-faint)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat{display:flex;flex-direction:column;gap:6px}.stat .value,.stat-value{font-size:32px;font-weight:800;letter-spacing:-.04em;color:var(--ink);line-height:1.1}.stat .label,.stat-label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}button{font-family:var(--font)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--hairline);border-radius:14px;padding:12px 20px;font-size:15px;font-weight:700;color:var(--ink-body);cursor:pointer;transition:transform .12s ease,box-shadow .15s ease,background .15s ease;box-shadow:0 4px 14px #1522340d}.btn:hover{background:#fff;box-shadow:0 8px 22px #1522341a}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent-grad);border-color:transparent;color:#fff;font-weight:800;box-shadow:var(--accent-shadow)}.btn.primary:hover{box-shadow:0 16px 34px #1684ed5c}.btn.danger{background:var(--danger);border-color:transparent;color:#fff;box-shadow:0 12px 26px #d53b4847}.btn.ghost{background:transparent;box-shadow:none}.btn.small{padding:8px 14px;font-size:13px;border-radius:11px}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-row{display:flex;gap:10px;flex-wrap:wrap}label.field,.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);min-width:0}input,select,textarea{font-family:var(--font);font-size:15px;color:var(--ink-body);background:#fffc;border:1px solid var(--hairline);border-radius:12px;padding:11px 14px;width:100%;min-width:0;box-shadow:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-light);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:90px;resize:vertical}.form-row{display:flex;gap:18px;flex-wrap:wrap}.form-row>*{flex:1 1 220px;min-width:0}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-end;background:#fff9;border:1px solid var(--panel-border);border-radius:var(--panel-radius);padding:18px 20px}.filters>.field{flex:1 1 190px}.filters label,.filters-row .field.inline{flex:1 1 190px;flex-direction:column;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.filters-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.filters-row .field.inline{flex:1 1 180px}.filter-select{max-width:220px}.checkbox.inline{display:inline-flex;align-items:center;gap:8px;font-size:14px;text-transform:none;letter-spacing:normal;font-weight:600;color:var(--ink-body)}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);background:#ffffff73}table.data{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;font-size:15px}table.data th{text-align:left;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-ghost);padding:12px 16px 12px 0;border-bottom:1px solid var(--divider);white-space:nowrap;position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}table.data td{padding:15px 16px 15px 0;border-bottom:1px solid var(--divider);color:var(--ink-body);vertical-align:top;overflow-wrap:anywhere}table.data tr:last-child td{border-bottom:none}table.data tr.clickable:hover{background:#1684ed0d}table.data td:first-child,table.data th:first-child{padding-left:16px}table.data td:last-child,table.data th:last-child{padding-right:16px}.cell-title{font-weight:700;color:var(--ink)}.cell-sub{font-size:13px;color:var(--ink-faint);margin-top:2px}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--divider);color:inherit;min-width:0}.list-item:last-child{border-bottom:none}a.list-item:hover{background:#1684ed0d}.list-item .title{font-size:15px;font-weight:700;color:var(--ink)}.list-item .meta{font-size:13px;color:var(--ink-faint);margin-top:2px}.empty{padding:26px 0;text-align:center;color:var(--ink-faint);font-size:15px}.error-box{background:var(--danger-soft);border:1px solid rgba(213,59,72,.28);color:var(--danger);border-radius:var(--radius-md);padding:14px 18px;font-size:15px}.notice-box{background:var(--accent-soft);border:1px solid rgba(22,132,237,.24);color:var(--accent-ink);border-radius:var(--radius-md);padding:14px 18px;font-size:15px}.toast{position:fixed;right:24px;bottom:24px;background:#152234f0;color:#fff;padding:14px 20px;border-radius:14px;font-size:14px;z-index:60;box-shadow:0 16px 40px #15223447}.spinner{padding:40px;text-align:center;color:var(--ink-faint);font-size:15px}.undo-hint{font-size:13px;color:var(--ink-faint)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;border-radius:9px;padding:6px 11px;background:var(--neutral-soft);color:var(--ink-muted);white-space:nowrap}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.success{background:var(--success-soft);color:var(--success)}.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--divider);padding-bottom:12px;margin-bottom:18px}.tabs button{background:transparent;border:1px solid transparent;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:700;color:var(--ink-muted);cursor:pointer}.tabs button:hover{background:#ffffffb3;color:var(--ink)}.tabs button.active{background:var(--accent-grad);color:#fff;box-shadow:var(--accent-shadow)}.tabs.underline{gap:4px;border-bottom:1px solid var(--divider);padding-bottom:0}.tabs.underline button{border-radius:0;border-bottom:2px solid transparent;padding:12px 16px}.tabs.underline button.active{background:transparent;color:var(--accent-ink);border-bottom-color:var(--accent);box-shadow:none}.tabs-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.segments{display:inline-flex;gap:4px;padding:4px;background:#1522340d;border-radius:14px;flex-wrap:wrap}.segments button{background:transparent;border:none;border-radius:12px;padding:9px 18px;font-size:14px;font-weight:700;color:var(--ink-muted);cursor:pointer}.segments button.active{background:var(--accent-grad);color:#fff;box-shadow:var(--accent-shadow)}.kanban{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start;min-width:0}.kanban-column{background:#ffffff8c;border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:14px;min-width:0;display:flex;flex-direction:column;gap:10px}.kanban-column.over{border-color:var(--accent-light);box-shadow:0 0 0 3px var(--accent-soft)}.kanban-column h3{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-card{background:#ffffffe6;border:1px solid var(--panel-border);border-radius:14px;padding:12px;cursor:grab;box-shadow:0 4px 14px #1522340f;min-width:0}.kanban-card:active{cursor:grabbing}.kanban-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.kanban-card .code{font-size:12px;font-weight:800;color:var(--accent-ink)}.kanban-card .name{font-size:14px;font-weight:700;color:var(--ink);margin:4px 0;overflow-wrap:anywhere}.kanban-card .meta{font-size:12px;color:var(--ink-faint)}.kanban-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-muted)}.kanban-toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.kanban-toolbar .field.inline{flex:1 1 200px}.bulk-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 18px;background:var(--accent-soft);border-radius:var(--radius-md);font-size:14px;color:var(--accent-ink)}.bulk-bar input{width:auto}.matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.matrix-quadrant{background:#ffffff8c;border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:16px;min-height:220px}.matrix-quadrant h4{margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.matrix-axes{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-faint);margin-bottom:12px}.donut-wrap{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.donut{width:168px;height:168px;flex:none}.legend{display:flex;flex-direction:column;gap:10px;flex:1 1 160px;min-width:0}.legend-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-muted)}.legend-dot{width:10px;height:10px;border-radius:50%;flex:none}.legend-value{margin-left:auto;font-weight:800;color:var(--ink)}.traffic{display:grid;gap:10px;align-content:start}.traffic-tile{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:14px;padding:12px 18px;color:#fff}.traffic-tile.ok{background:linear-gradient(140deg,#1e7f58,#3fb984)}.traffic-tile.warn{background:linear-gradient(140deg,#b5761a,#e8a33d)}.traffic-tile.bad{background:linear-gradient(140deg,#c22f3c,#d33b48)}.traffic-value{font-size:26px;font-weight:800;line-height:1.1}.traffic-label{font-size:14px;font-weight:700;opacity:.92}.timeline{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--divider)}.timeline-item:last-child{border-bottom:none}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);justify-self:center}.timeline-dot.warn{background:var(--warning)}.timeline-dot.bad{background:var(--danger)}.timeline-dot.muted{background:var(--ink-ghost)}.timeline-title{font-size:15px;font-weight:700;color:var(--ink)}.timeline-meta{font-size:13px;color:var(--ink-faint)}.timeline-date{font-size:13px;color:var(--ink-faint);text-align:right;white-space:nowrap}.load-bar{position:relative;height:10px;border-radius:6px;background:#15223414;overflow:hidden;min-width:120px}.load-bar>span{position:absolute;inset:0 auto 0 0;border-radius:6px;background:var(--accent-grad)}.load-bar>span.over{background:linear-gradient(90deg,#e8a33d,#f0bd77)}.load-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(120px,2fr) auto;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--divider);font-size:14px}.load-row:last-child{border-bottom:none}.notifications-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap);align-items:start}.notification-list{display:flex;flex-direction:column}.notification-list li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--divider);align-items:flex-start}.notification-list li.unread{background:#1684ed0d}.notification-main{min-width:0;flex:1 1 auto}.notification-icon.warning{background:var(--warning-soft)}.notification-icon.danger{background:var(--danger-soft)}.notification-list li.unread{background:#1684ed0d;border-radius:14px;padding-left:12px;padding-right:12px}.notification-icon{width:44px;height:44px;border-radius:14px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex:none}.notification-title{font-size:15px;font-weight:800;color:var(--ink)}.notification-body{font-size:15px;color:var(--ink-body);margin-top:2px}.notification-meta{font-size:12px;color:var(--ink-ghost);margin-top:6px}.notification-actions{display:flex;gap:10px;align-items:center;margin-top:8px}.switch-row{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--divider);cursor:pointer}.switch-row:last-child{border-bottom:none}.switch-row input[type=checkbox]{width:42px;height:22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#15223429;border-radius:12px;position:relative;cursor:pointer;transition:background .15s ease;flex:none}.switch-row input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch-row input[type=checkbox]:checked{background:var(--accent)}.switch-row input[type=checkbox]:checked:after{transform:translate(20px)}.switch-row input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}.switch-row span{font-size:15px;color:var(--ink-body)}.bell-wrap{position:relative}.bell{position:relative;width:42px;height:42px;border-radius:14px;background:#ffffffd9;border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-body);padding:0}.bell:hover{background:#fff}.bell-count{position:absolute;left:22px;top:0;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e5484d;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.bell-panel{position:absolute;right:0;top:50px;width:340px;max-width:78vw;background:#fff;border:1px solid var(--hairline);border-radius:18px;box-shadow:0 20px 50px #15223429;z-index:30;overflow:hidden}.bell-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--divider);font-size:15px;font-weight:800}.bell-empty{padding:20px;font-size:14px;color:var(--ink-faint);text-align:center}.bell-list{max-height:360px;overflow-y:auto}.bell-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--divider)}.bell-item.unread{background:#1684ed0d}.bell-item-title{font-size:14px;font-weight:700;color:var(--ink)}.bell-item-body{font-size:13px;color:var(--ink-muted)}.bell-item-meta{font-size:12px;color:var(--ink-ghost);margin-top:4px}.bell-all{display:block;width:100%;padding:12px;background:transparent;border:none;border-top:1px solid var(--divider);font-size:14px;font-weight:700;color:var(--accent-ink);cursor:pointer}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.help-list{display:flex;flex-direction:column;gap:12px;font-size:15px;color:var(--ink-body)}.help-list li{padding-left:16px;position:relative}.help-list li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--accent-light)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:26px;text-align:center;color:var(--ink-faint);background:#ffffff73;font-size:15px}.dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone .hint{margin-top:6px;font-size:13px}.file-cell{display:flex;align-items:center;gap:12px;min-width:0}.file-thumb{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}.file-thumb img{max-width:100%;max-height:100%}.project-links{display:flex;gap:12px;flex-wrap:wrap}.project-links .field{flex:1 1 200px}.sla-summary{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 32px;background:var(--page-gradient)}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:64px;align-items:center;width:100%;max-width:1240px}.login-intro{min-width:0}.login-title{font-size:44px;line-height:1.1;letter-spacing:-.045em;max-width:520px}.login-lead{margin:18px 0 28px;font-size:16px;color:var(--ink-faint);max-width:520px}.login-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:560px}.login-feature{background:#ffffffb8;border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px #1522340f}.login-feature-label{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:8px}.login-feature-text{font-size:15px;color:var(--ink-body)}.login-forms{display:flex;flex-direction:column;gap:20px;min-width:0}.login-card .eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.login-card h1{font-size:30px;line-height:1.15}.form-stack{display:grid;gap:14px}.login-note{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:var(--ink-faint)}@media(max-width:1000px){.login-layout{grid-template-columns:minmax(0,1fr);gap:32px}}.login-card{width:100%;max-width:440px;background:var(--card-bg);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));border:var(--card-border);border-radius:var(--card-radius);padding:36px;box-shadow:var(--card-shadow)}.login-card h1{font-size:32px}.login-card .lead{margin:10px 0 22px;font-size:15px;color:var(--ink-faint)}.print-forms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.print-form-card{background:#fff9;border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:0}.print-form-card:hover{border-color:var(--accent-light)}.print-form-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.print-form-badge{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:14px}.print-form-title{font-size:17px;font-weight:800;color:var(--ink)}.print-form-subtitle{margin-top:6px;font-size:13px;color:var(--ink-faint)}.print-form-amount{font-size:18px;font-weight:800;color:var(--ink)}.print-preview{background:#fff;border:1px solid var(--panel-border);border-radius:var(--radius-md);padding:28px 32px;color:#111}.print-preview-org{font-size:15px;font-weight:800}.print-preview-org-sub{margin-top:4px;font-size:12px;color:#555}.print-preview-title{margin:18px 0;text-align:right;font-size:16px;font-weight:800;letter-spacing:.04em}.print-preview-sub{font-size:13px;font-weight:500;color:#444}.print-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;font-size:14px;margin-bottom:20px}.print-preview-table{border-top:1px solid #99a3b0}.print-preview-row{display:grid;grid-template-columns:minmax(0,1fr) 200px 90px;gap:12px;padding:10px 0;border-bottom:1px solid #d7dde4;font-size:14px}.print-preview-row.head{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#555}.print-preview-row.total{font-weight:800;border-bottom:none}@media(max-width:1180px){.print-forms-grid{grid-template-columns:minmax(0,1fr)}}.print-page{min-height:100vh;background:#eef1f5;padding:28px 16px 60px;display:flex;flex-direction:column;align-items:center;gap:18px}.print-toolbar{width:100%;max-width:900px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#ffffffd9;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:14px 18px;box-shadow:0 8px 24px #15223414}.print-sheet{width:900px;max-width:100%;background:#fff;color:#111;padding:44px 48px;border-radius:6px;box-shadow:0 18px 50px #1522342e;font-size:13px;line-height:1.45}.print-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #111;padding-bottom:12px}.print-org{font-size:16px;font-weight:800}.print-org-sub{font-size:11px;color:#444;margin-top:4px}.print-title{text-align:right}.print-title h1{font-size:18px;color:#111;letter-spacing:.02em}.print-h2{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px;color:#111}.print-table{width:100%;border-collapse:collapse}.print-table td,.print-table thead th{border:1px solid #9aa4b1;padding:6px 8px;font-size:12px;text-align:left;vertical-align:top}.print-table thead th{background:#f1f4f8;font-weight:800}.print-total td{font-weight:800}.print-signs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}.print-signs>div{display:flex;flex-direction:column;gap:8px}.print-sign-line{border-bottom:1px solid #111;height:34px}.print-sign-caption{font-size:11px;color:#444}.print-footer{margin-top:28px;padding-top:10px;border-top:1px solid #9aa4b1;font-size:11px;color:#444}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.params-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px}.param-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-ghost);margin-bottom:6px}.param-value{font-size:15px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.grid.cols-task{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}.action-stack{display:flex;flex-direction:column;gap:10px}.action-stack .btn{width:100%}.journal{display:flex;flex-direction:column;gap:14px}.journal-item{display:flex;gap:10px;font-size:14px;color:var(--ink-body)}.journal-item:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:8px;flex:none}.journal-meta{font-size:12px;color:var(--ink-ghost);margin-top:4px}.comment{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--divider)}.comment:last-child{border-bottom:none}.comment-avatar{width:36px;height:36px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}@media(max-width:1180px){.params-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-task{grid-template-columns:minmax(0,1fr)}}.grid.cols-help{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.help-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);min-width:0}.help-sections>*{min-width:0}.help-list li{display:flex;flex-direction:column;gap:4px;padding-left:0;padding-bottom:14px;border-bottom:1px solid var(--divider)}.help-list li:last-child{border-bottom:none;padding-bottom:0}.help-list li:before{display:none}@media(max-width:1180px){.app{grid-template-columns:1fr;background:var(--page-gradient)}.sidebar{position:static;width:100%;height:auto}.nav{flex-direction:row;flex-wrap:wrap}.nav a{font-size:15px}.kpi-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-2,.grid.cols-help,.grid.cols-client,.grid.cols-3,.grid.cols-4,.grid.cols-2-1,.grid.cols-1-2,.notifications-grid,.help-grid{grid-template-columns:minmax(0,1fr)}.kanban{grid-template-columns:repeat(5,minmax(210px,1fr));overflow-x:auto}.main{padding:26px 22px}h1{font-size:34px}}@media(max-width:720px){.kpi-grid,.stat-grid,.matrix{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{.no-print{display:none!important}body{background:#fff}.print-page{background:#fff;padding:0}.print-sheet{width:100%;box-shadow:none;padding:0}}
