@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy-50:#f3f6fa;--navy-100:#e4ebf4;--navy-200:#c6d3e6;--navy-300:#97aed0;--navy-400:#5f80af;--navy-500:#2e5891;--navy-600:#184071;--navy-700:#12335c;--navy-800:#0e2848;--navy-900:#091b32;--white:#fff;--black:#000;--ink:#111418;--steel:#4b5057;--gray-50:#f8f9fa;--gray-100:#f1f3f5;--gray-200:#e3e6ea;--gray-300:#ced3d9;--gray-400:#9ba1a9;--gray-500:#6e747c;--green-50:#e9f6ef;--green-600:#1e8a55;--green-700:#16683f;--amber-50:#fdf4e2;--amber-600:#c27a0e;--amber-700:#8e5806;--red-50:#fcedec;--red-600:#c8372d;--red-700:#9e2a22;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--shadow-sm:0 1px 2px #091b320f;--shadow-md:0 4px 12px #091b3214;--shadow-lg:0 16px 40px #091b3229;--ring:0 0 0 3px #18407133;--ring-error:0 0 0 3px #c8372d2e;--sidebar-width:256px;--topbar-height:64px;--font:"Montserrat Variable", "Montserrat", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--color-brand:var(--navy-600);--color-text:var(--ink);--color-muted:var(--steel);--color-border:var(--gray-200)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--gray-50);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}a{color:var(--navy-600);text-decoration:none}a:hover{color:var(--navy-700)}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:600}p{margin:0}:focus-visible{box-shadow:var(--ring);outline:none}.num{font-variant-numeric:tabular-nums}.muted,.steel,.text-2{color:var(--steel)}.overline,.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--steel);font-size:11px;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.row{align-items:center;gap:var(--gap,10px);flex-wrap:wrap;display:flex}.spacer{flex:1}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.btn{--h:40px;height:var(--h);border-radius:var(--r-md);font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.btn svg{flex:none;width:16px;height:16px}.btn:disabled{cursor:not-allowed}.btn-primary{background:var(--navy-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-700);color:#fff}.btn-primary:focus-visible{background:var(--navy-700);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--navy-500)}.btn-primary:disabled:not([aria-busy]){background:var(--gray-200);color:var(--gray-400)}.btn-primary[aria-busy]{background:var(--navy-500)}.btn-secondary{color:var(--ink);border-color:var(--gray-300);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);color:var(--ink)}.btn-secondary:focus-visible{border-color:var(--navy-500);box-shadow:var(--ring)}.btn-secondary:disabled:not([aria-busy]){background:var(--gray-50);color:var(--gray-400);border-color:var(--gray-200)}.btn-ghost{color:var(--navy-600);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--navy-50);color:var(--navy-700)}.btn-ghost:focus-visible{border-color:var(--navy-200);box-shadow:var(--ring)}.btn-ghost:disabled:not([aria-busy]){color:var(--gray-400)}.btn-danger{background:var(--red-600);color:#fff}.btn-danger:hover:not(:disabled){background:var(--red-700);color:#fff}.btn-danger:focus-visible{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--red-600)}.btn-danger:disabled:not([aria-busy]){background:var(--gray-200);color:var(--gray-400)}.btn-danger-outline{color:var(--red-700);border-color:var(--gray-300);background:#fff}.btn-danger-outline:hover:not(:disabled){background:var(--red-50);border-color:var(--red-600);color:var(--red-700)}.btn-sm{--h:32px;border-radius:var(--r-sm);padding:0 12px;font-size:13px}.btn-lg{--h:48px;padding:0 20px;font-size:15px}.btn-block{width:100%}.btn-icon{width:var(--h);padding:0}.btn-icon.btn-ghost{color:var(--steel)}.btn-icon.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--ink)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{color:var(--ink);font-size:13px;font-weight:600}.field .req{color:var(--red-600);margin-left:2px}.field .hint{color:var(--steel);font-size:12px}.field .error{color:var(--red-700);align-items:center;gap:6px;font-size:12px;display:flex}.field .error svg{flex:none;width:14px;height:14px}.input,.select,.textarea{border:1px solid var(--gray-300);border-radius:var(--r-md);width:100%;height:40px;color:var(--ink);font:inherit;background:#fff;outline:none;padding:0 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234B5057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:36px}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--gray-400)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--gray-400)}.input:focus,.select:focus,.textarea:focus{border-color:var(--navy-500);box-shadow:var(--ring)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--red-600)}.input[aria-invalid=true]:focus{box-shadow:var(--ring-error)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--gray-100);border-color:var(--gray-200);color:var(--steel);cursor:not-allowed}.input-lg{height:44px;font-size:15px}.input-wrap{display:flex;position:relative}.input-wrap>.lead{color:var(--steel);pointer-events:none;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-wrap>.lead svg{width:16px;height:16px}.input-wrap>.lead+.input{padding-left:38px}.input-wrap>.reveal{border-radius:var(--r-sm);width:32px;height:32px;color:var(--steel);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-wrap>.reveal:hover{background:var(--gray-100)}.input-wrap>.reveal svg{width:16px;height:16px}.input-wrap>.input.has-reveal{padding-right:44px}.check{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--navy-600);margin:0}.switch{flex:none;width:40px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;z-index:1;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch input:disabled{cursor:not-allowed}.switch span{background:var(--gray-300);border-radius:99px;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.switch input:checked+span{background:var(--navy-600)}.switch input:checked+span:after{transform:translate(18px)}.switch input:disabled+span{opacity:.45}.switch input:focus-visible+span{box-shadow:var(--ring)}.segmented{background:var(--gray-100);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.segmented button{font:inherit;color:var(--steel);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:12px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--navy-600);color:#fff}.segmented.lg button{padding:7px 16px;font-size:14px}.toggle-row{border:1px solid var(--gray-200);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:16px;padding:14px 16px;display:flex}.toggle-row strong{font-size:14px;font-weight:600;display:block}.toggle-row small{color:var(--steel);font-size:12px;display:block}.toggle-row>div{flex:1;min-width:0}.otp{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.otp input{border:1px solid var(--gray-300);border-radius:var(--r-md);text-align:center;width:100%;height:52px;font:inherit;font-variant-numeric:tabular-nums;outline:none;font-size:22px;font-weight:600}.otp input:focus{border-color:var(--navy-500);box-shadow:var(--ring)}.card{border:1px solid var(--gray-200);border-radius:var(--r-lg);background:#fff}.card-header{border-bottom:1px solid var(--gray-200);align-items:center;gap:12px;padding:16px 20px;display:flex}.card-header h2,.card-header h3{font-size:15px;font-weight:600}.card-header p{color:var(--steel);font-size:13px}.card-header .link{margin-left:auto;font-size:13px;font-weight:600}.card-body{padding:24px}.card-footer{border-top:1px solid var(--gray-200);background:var(--gray-50);border-radius:0 0 var(--r-lg) var(--r-lg);justify-content:flex-end;align-items:center;gap:8px;padding:16px 24px;display:flex}.card-footer .note{color:var(--steel);align-items:center;gap:6px;margin-right:auto;font-size:13px;display:flex}.card-footer .note.err{color:var(--red-700)}.card-footer .note svg{width:14px;height:14px}.form-section{border-top:1px solid var(--gray-200);grid-template-columns:200px minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.form-section:first-child{border-top:0;padding-top:0}.form-section:last-child{padding-bottom:0}.form-section>.fs-label h3{font-size:14px;font-weight:600}.form-section>.fs-label p{color:var(--steel);margin-top:2px;font-size:13px}.form-section>.fs-fields{flex-direction:column;gap:16px;min-width:0;display:flex}.stat{flex-direction:column;gap:12px;padding:20px;display:flex}.stat .label{color:var(--steel);justify-content:space-between;align-items:center;font-size:13px;display:flex}.stat .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:28px;font-weight:600;line-height:1.1}.stat .value small{color:var(--steel);font-size:16px;font-weight:500}.stat .value.sm{letter-spacing:-.01em;font-size:18px;line-height:1.3}.stat .sub{color:var(--steel);font-size:12px}.stat .sub b{color:var(--green-700);font-weight:600}.icon-chip{border-radius:var(--r-md);background:var(--navy-50);width:32px;height:32px;color:var(--navy-600);flex:none;place-items:center;display:inline-grid}.icon-chip svg{width:16px;height:16px}.icon-chip.danger{background:var(--red-50);color:var(--red-600)}.icon-chip.ok{background:var(--green-50);color:var(--green-600)}.icon-chip.warn{background:var(--amber-50);color:var(--amber-600)}.icon-chip.round{border-radius:50%}.icon-chip.lg{border-radius:var(--r-lg);width:48px;height:48px}.icon-chip.lg svg{width:22px;height:22px}.progress-bar{background:var(--gray-100);border-radius:99px;height:6px;overflow:hidden}.progress-bar>span{background:var(--navy-600);border-radius:99px;height:100%;display:block}.page{flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-header .ph-text{flex-direction:column;gap:6px;min-width:0;display:flex}.page-header h1{letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1.2}.page-header .ph-desc{color:var(--steel);font-size:14px}.page-header .ph-kicker{color:var(--steel);font-size:13px}.page-header .actions{flex-wrap:wrap;gap:8px;display:flex}.crumbs{color:var(--steel);align-items:center;gap:6px;font-size:13px;display:flex}.crumbs a{color:var(--steel)}.crumbs a:hover{color:var(--navy-600)}.crumbs .here{color:var(--ink);font-weight:600}.crumbs svg{width:14px;height:14px}.badge{border-radius:var(--r-full);white-space:nowrap;background:var(--gray-100);height:24px;color:var(--steel);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.badge svg{width:12px;height:12px}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-ok{background:var(--green-50);color:var(--green-700)}.badge-ok .dot{background:var(--green-600)}.badge-warn{background:var(--amber-50);color:var(--amber-700)}.badge-warn .dot{background:var(--amber-600)}.badge-danger{background:var(--red-50);color:var(--red-700)}.badge-danger .dot{background:var(--red-600)}.badge-info,.badge-brand{background:var(--navy-50);color:var(--navy-700)}.badge-neutral .dot{background:var(--gray-400)}.count{background:var(--red-600);color:#fff;font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.avatar{--s:32px;width:var(--s);height:var(--s);font-size:calc(var(--s) * .375);color:var(--navy-700);background:var(--navy-100);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;position:relative;overflow:hidden}.avatar.strong{background:var(--navy-600);color:#fff}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-wrap{display:inline-flex;position:relative}.avatar-wrap .presence{background:var(--green-600);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;bottom:1px;right:1px}.person{align-items:center;gap:12px;min-width:0;display:flex}.person .name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.person .meta{color:var(--steel);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dt-toolbar{border-bottom:1px solid var(--gray-200);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;display:flex}.dt-toolbar .search{width:300px;max-width:100%;position:relative}.dt-toolbar .search svg{width:16px;height:16px;color:var(--steel);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dt-toolbar .search .input{height:36px;padding-left:38px}.dt-toolbar .select{width:auto;min-width:150px;height:36px}.dt-toolbar .count-label{color:var(--steel);margin-left:auto;font-size:13px}.dt-head,.dt-row{grid-template-columns:var(--cols);align-items:center;gap:12px;padding:0 20px;display:grid}.dt-head{background:var(--gray-50);border-bottom:1px solid var(--gray-200);height:40px;color:var(--steel);font-size:12px;font-weight:600}.dt-row{border-bottom:1px solid var(--gray-100);cursor:pointer;min-height:56px;font-size:14px}.dt-row:hover{background:var(--navy-50)}.dt-row.dim{opacity:.65}.dt-row .cell-2{color:var(--steel)}.dt-foot{color:var(--steel);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:flex}.pager{gap:6px;display:flex}.dt-cards{display:none}@media (width<=640px){.dt-head,.dt-rows{display:none}.dt-cards{flex-direction:column;gap:12px;padding:0 0 4px;display:flex}.dt-card{border:1px solid var(--gray-200);border-radius:var(--r-lg);color:inherit;background:#fff;flex-direction:column;gap:12px;padding:16px;display:flex}.dt-card .dc-top{align-items:center;gap:12px;display:flex}.dt-card .dc-top>svg{width:16px;height:16px;color:var(--gray-400);margin-left:auto}.dt-card .dc-bottom{color:var(--steel);justify-content:space-between;align-items:center;font-size:12px;display:flex}.dt-toolbar{border:0;padding:0 0 12px}.dt-toolbar .search{flex:1;width:auto}.dt-foot{padding:12px 0 0}.card.dt-card-host{background:0 0;border:0}}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--steel);background:var(--gray-50);border-bottom:1px solid var(--gray-200);white-space:nowrap;height:40px;padding:0 20px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:10px 20px}.table tbody tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.tabs{border-bottom:1px solid var(--gray-200);scrollbar-width:none;gap:24px;display:flex;overflow-x:auto}.tabs button,.tabs a{font:inherit;color:var(--steel);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:0 0 10px;font-size:14px;font-weight:500;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs [aria-selected=true]{color:var(--navy-600);border-bottom-color:var(--navy-600);font-weight:600}.tabs button svg{width:16px;height:16px}dialog.dialog{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:min(440px,100vw - 24px);max-height:calc(100vh - 48px);color:var(--ink);border:0;padding:0}dialog.dialog.wide{width:min(640px,100vw - 24px)}dialog.dialog::backdrop{background:#091b328c}dialog.dialog[open]{animation:.14s ease-out pop}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.985)}}.dialog-head{align-items:flex-start;gap:16px;padding:20px 24px 0;display:flex}.dialog-head .dh-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.dialog-head h2{font-size:16px;font-weight:600}.dialog-head p{color:var(--steel);font-size:14px;line-height:1.5}.dialog-head .close{margin:-4px -8px 0 0}.dialog-body{padding:20px 24px 0}.dialog-foot{justify-content:flex-end;gap:8px;padding:24px;display:flex}.menu-pop{z-index:40;border:1px solid var(--gray-200);border-radius:var(--r-md);min-width:232px;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;padding:4px;animation:.1s ease-out pop;display:flex;position:absolute}.menu-pop .item{border-radius:var(--r-sm);width:100%;height:36px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.menu-pop .item svg{width:16px;height:16px;color:var(--steel)}.menu-pop .item:hover,.menu-pop .item:focus-visible{background:var(--gray-100);box-shadow:none}.menu-pop .item:disabled{color:var(--gray-400);cursor:not-allowed;background:0 0}.menu-pop .item.danger,.menu-pop .item.danger svg{color:var(--red-600)}.menu-pop .sep{background:var(--gray-200);height:1px;margin:4px 0}.menu-head{flex-direction:column;padding:8px 10px;font-size:13px;display:flex}.menu-head strong{font-weight:600}.menu-head span{color:var(--steel);font-size:12px}.alert{border-radius:var(--r-md);background:var(--navy-50);color:var(--navy-800);border:1px solid var(--navy-100);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.alert svg{flex:none;width:16px;height:16px;margin-top:2px}.alert-danger{background:var(--red-50);color:var(--red-700);border-color:#f4d3d0}.alert-warn{background:var(--amber-50);color:var(--amber-700);border-color:#f3dfb5}.alert-ok{background:var(--green-50);color:var(--green-700);border-color:#c9e8d6}.note-box{border-radius:var(--r-md);background:var(--gray-50);border:1px solid var(--gray-200);color:var(--steel);padding:14px 16px;font-size:13px;line-height:1.5}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.empty .icon-chip{border-radius:var(--r-lg);width:48px;height:48px;margin-bottom:8px}.empty .icon-chip svg{width:20px;height:20px}.empty h3{font-size:16px;font-weight:600}.empty p{color:var(--steel);max-width:360px;font-size:14px}.empty .btn{margin-top:12px}.skeleton{background:var(--gray-100);border-radius:var(--r-sm);animation:1.4s ease-in-out infinite fst-pulse}@keyframes fst-pulse{50%{opacity:.55}}.toasts{z-index:100;flex-direction:column;gap:10px;width:min(400px,100vw - 24px);display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--r-md);box-shadow:var(--shadow-lg);color:var(--ink);border:1px solid var(--gray-200);background:#fff;align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;animation:.14s ease-out pop;display:flex}.toast.ok{background:var(--ink);color:#fff;border-color:var(--ink)}.toast>svg{flex:none;width:18px;height:18px;margin-top:1px}.toast.ok>svg{color:#6fd39f}.toast.error>svg{color:var(--red-600)}.toast.info>svg{color:var(--navy-600)}.toast .t-text{flex:1;min-width:0}.toast button{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:0;padding:0;display:flex}@media (width<=767px){.grid-2{grid-template-columns:1fr}.form-section{grid-template-columns:1fr;gap:12px}.page-header h1{font-size:24px}.page-header{align-items:center}.toasts{bottom:84px;right:12px}.card-body{padding:16px}.card-footer{padding:14px 16px}}.detail-grid{gap:var(--s-6);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;display:grid}.detail-grid>.stack,.detail-side{min-width:0}.r{text-align:right}.input-sm{height:34px;padding:0 8px;font-size:13px}.lines-table td{padding:6px 8px}.lines-table th{padding:0 8px}.lines-table input.r{text-align:right}.totals{justify-content:space-between;gap:var(--s-6);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--gray-200);flex-wrap:wrap;display:flex}.totals dl{grid-template-columns:auto auto;gap:6px 24px;margin:0 0 0 auto;font-size:14px;display:grid}.totals dt{color:var(--steel);text-align:right}.totals dd{text-align:right;margin:0}.totals .grand{color:var(--navy-700);font-size:16px;font-weight:700}.approval-steps{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.approval-steps .step{gap:var(--s-3);display:flex}.approval-steps .step-icon svg{width:20px;height:20px;color:var(--gray-400)}.approval-steps .step.current .step-icon svg{color:var(--amber-600)}.approval-steps .step.approved .step-icon svg,.approval-steps .step.skipped .step-icon svg{color:var(--green-600)}.approval-steps .step.returned .step-icon svg{color:var(--red-600)}.approval-steps .step-body{flex-direction:column;gap:2px;min-width:0;font-size:14px;display:flex}.approval-steps .step-body .muted,.approval-steps .decision{font-size:13px}blockquote{border-left:3px solid var(--navy-200);background:var(--gray-50);border-radius:var(--r-xs);margin:4px 0 0;padding:6px 10px;font-size:13px}details.older summary{cursor:pointer;color:var(--steel);font-size:13px}.older-item{margin-top:8px;font-size:13px}.doc-list,.list,.pick-list,.timeline{margin:0;padding:0;list-style:none}.doc-list li{border-bottom:1px solid var(--gray-100);flex-direction:column;gap:6px;padding:10px 0;display:flex}.doc-list li:last-child{border-bottom:0}.doc-meta{gap:8px;font-size:13px;display:flex}.list li,.timeline li>a,.timeline li>div{align-items:center;gap:var(--s-3);border-bottom:1px solid var(--gray-100);color:inherit;padding:12px 20px;text-decoration:none;display:flex}.timeline li>a:hover{background:var(--gray-50)}.list li:last-child,.timeline li:last-child>*{border-bottom:0}.pick-list{border:1px solid var(--gray-200);border-radius:var(--r-md);max-height:420px;overflow-y:auto}.pick-list button{text-align:left;border:0;border-bottom:1px solid var(--gray-100);width:100%;font:inherit;cursor:pointer;background:0 0;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.pick-list button:hover,.pick-list button:focus-visible{background:var(--navy-50)}.pick-list .name{flex-direction:column;display:flex}.pick-list .code,.pick-list .price{color:var(--steel);font-size:13px}.facts{gap:var(--s-4) var(--s-6);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.facts dt{color:var(--steel);font-size:12px;font-weight:600}.facts dd{white-space:pre-line;overflow-wrap:anywhere;margin:2px 0 0}.approvals-btn{position:relative}@media (width<=960px){.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.facts{grid-template-columns:minmax(0,1fr)}.totals dl{width:100%;margin:0}.pick-list button{grid-template-columns:1fr;gap:2px}}.link-btn{font:inherit;color:var(--navy-600);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.small{font-size:13px}.pre{white-space:pre-line;overflow-wrap:anywhere;margin:0}.ellipsis{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.progress-cell{align-items:center;gap:8px;min-width:0;display:flex}.progress-cell .progress-bar{flex:1;min-width:48px}.progress-cell .num{text-align:right;min-width:38px;font-size:13px}.big-progress{align-items:center;gap:var(--s-4);display:flex}.big-progress>.num{color:var(--navy-700);font-size:28px;font-weight:700}.big-progress .progress-cell{flex:1}.big-progress .progress-cell .num{display:none}.ops-stat{flex-direction:column;display:flex}.ops-stat .num{color:var(--navy-700);font-size:24px;font-weight:700}.ops-stat .num.danger{color:var(--red-600)}.ops-stat small{color:var(--steel)}.mini-list,.history,.comments,.proposal,.task-list,.attach-grid,.cal-agenda{margin:0;padding:0;list-style:none}.mini-list li{align-items:center;gap:var(--s-3);border-bottom:1px solid var(--gray-100);padding:8px 0;display:flex}.mini-list li:last-child{border-bottom:0}.mini-list li .progress-cell{width:140px}.history li,.comments li{border-bottom:1px solid var(--gray-100);flex-direction:column;gap:4px;padding:10px 0;display:flex}.history li:last-child,.comments li:last-child{border-bottom:0}.people-check{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;max-height:320px;padding:4px;display:grid;overflow-y:auto}.proposal li{border:1px solid var(--gray-200);border-radius:var(--r-md);flex-direction:column;gap:8px;margin-bottom:8px;padding:12px;display:flex}.proposal li.off{background:var(--gray-50);opacity:.75}.task-list .task-list{border-left:2px solid var(--gray-100);margin-left:20px}.task-row{align-items:center;gap:var(--s-4);border:0;border-bottom:1px solid var(--gray-100);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;padding:12px 20px;display:flex}.task-row:hover{background:var(--gray-50)}.task-row.done .name{color:var(--gray-500);text-decoration:line-through}.task-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-main .name{overflow-wrap:anywhere;font-weight:600}.task-main .meta{color:var(--steel);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.icon-num{align-items:center;gap:4px;display:inline-flex}.icon-num svg{width:14px;height:14px}.task-side{align-items:center;gap:var(--s-3);flex-shrink:0;display:flex}.task-side .cell-2{text-overflow:ellipsis;white-space:nowrap;width:140px;font-size:13px;overflow:hidden}.board{gap:var(--s-4);padding:var(--s-4);grid-template-columns:repeat(4,minmax(220px,1fr));display:grid;overflow-x:auto}.board-col{gap:var(--s-3);min-width:0;padding:var(--s-3);background:var(--gray-50);border-radius:var(--r-md);flex-direction:column;display:flex}.board-col header{justify-content:space-between;align-items:center;display:flex}.board-card{border:1px solid var(--gray-200);border-radius:var(--r-md);background:#fff;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.board-card .link-btn{color:var(--ink);font-weight:600}.cal-toolbar{justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--gray-100);flex-wrap:wrap;display:flex}.cal-title{text-align:center;text-transform:capitalize;min-width:150px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-wd{color:var(--steel);text-transform:capitalize;border-bottom:1px solid var(--gray-100);padding:8px;font-size:12px;font-weight:600}.cal-day{border-right:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100);flex-direction:column;gap:3px;min-width:0;min-height:104px;padding:6px;display:flex}.cal-grid.week .cal-day{min-height:260px}.cal-day:nth-child(7n){border-right:0}.cal-day.out{background:var(--gray-50)}.cal-day.out .cal-num{color:var(--gray-400)}.cal-day.today .cal-num{background:var(--navy-600);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;display:inline-grid}.cal-num{font-size:12px;font-weight:600}.cal-ev{border:0;border-left:3px solid var(--navy-400);border-radius:var(--r-xs);background:var(--navy-50);width:100%;color:var(--ink);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;padding:2px 6px;font-size:12px;display:block;overflow:hidden}.cal-ev.phase{border-left-color:var(--steel);background:var(--gray-100);font-weight:600}.cal-ev.late{border-left-color:var(--red-600);background:var(--red-50)}.cal-ev.done{opacity:.6;text-decoration:line-through}.cal-agenda{display:none}.cal-agenda li{border-bottom:1px solid var(--gray-100);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.drawer-wrap{z-index:60;background:#091b3252;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{width:min(560px,100vw);height:100%;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;display:flex}.drawer-head{align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--gray-200);display:flex}.drawer-head h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:18px}.drawer-head .crumbs{font-size:13px}.drawer-body{padding:var(--s-5) var(--s-6) var(--s-8);flex:1;overflow-y:auto}.section-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.section-head h3{margin:0;font-size:14px}.attach-grid li{align-items:center;gap:var(--s-3);grid-template-columns:48px minmax(0,1fr) auto;padding:6px 0;display:grid}.attach-grid img,.file-icon{border-radius:var(--r-sm);object-fit:cover;background:var(--gray-100);width:48px;height:48px;color:var(--steel);place-items:center;display:grid}.chip{border:1px solid var(--navy-200);border-radius:var(--r-full);background:var(--navy-50);font:inherit;cursor:pointer;padding:2px 8px;font-size:12px}@media (width<=767px){.cal-grid{display:none}.cal-agenda{display:block}.board{grid-template-columns:repeat(4,minmax(240px,80vw))}.task-row{flex-direction:column;align-items:stretch;gap:8px}.task-side{flex-wrap:wrap}.people-check{grid-template-columns:minmax(0,1fr)}.drawer-head,.drawer-body{padding-left:var(--s-4);padding-right:var(--s-4)}.mini-list li .progress-cell{width:100px}}.facts>div>dd{text-align:left}.dt-row .name{overflow-wrap:anywhere;font-weight:600}.dt-row .meta{color:var(--steel);font-size:13px}.link-sm{color:var(--navy-600);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.link-sm:hover{color:var(--navy-700)}.link-steel{color:var(--steel);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.link-steel:hover{color:var(--ink)}.label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.label-row label{font-size:13px;font-weight:600}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.page-narrow{max-width:960px}.page-wide{max-width:1400px}.phone-only{display:none!important}.splash{height:100%;color:var(--navy-600);place-items:center;animation:1.4s ease-in-out infinite fst-pulse;display:grid}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100%;display:grid}.sidebar{background:var(--navy-600);color:#fff;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex-direction:column;gap:20px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar :focus-visible{box-shadow:0 0 0 2px #ffffffb3}.brand{color:#fff;padding:4px 12px 8px;display:block}.brand svg{display:block}.menu{flex-direction:column;flex:1;gap:18px;display:flex}.menu-section{flex-direction:column;gap:2px;display:flex}.menu-group{letter-spacing:.06em;text-transform:uppercase;color:#fff9;padding:0 12px 6px;font-size:11px;font-weight:600}.menu a,.menu-bottom{border-radius:var(--r-md);color:#ffffffbd;align-items:center;gap:12px;height:38px;padding:0 12px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.menu a svg,.menu-bottom svg{flex:none;width:18px;height:18px}.menu a .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu a:hover,.menu-bottom:hover{color:#fff;background:#ffffff14}.menu a.active,.menu-bottom.active{color:#fff;background:#ffffff1a;font-weight:600}.menu-tag{color:#ffffff8c;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.menu-count{min-width:18px;height:18px;color:var(--navy-700);background:#fff;border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:grid}.menu-bottom{flex:none}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:15;height:var(--topbar-height);border-bottom:1px solid var(--gray-200);background:#fff;align-items:center;gap:16px;padding:0 32px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.topbar-logo,.burger{display:none}.topbar-logo{color:var(--navy-600)}.search{width:380px;max-width:100%;position:relative}.search .search-icon{width:16px;height:16px;color:var(--steel);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{border-color:var(--gray-200);background:var(--gray-50);height:36px;padding:0 64px 0 38px}.search .input:focus{background:#fff}.search kbd{border:1px solid var(--gray-200);border-radius:var(--r-xs);height:20px;font:inherit;color:var(--steel);background:#fff;align-items:center;padding:0 6px;font-size:11px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-pop{top:calc(100% + 6px);left:0;right:0}.search-pop .item small{font-size:11px}.bell{position:relative}.bell svg{width:20px;height:20px}.bell-count{background:var(--red-600);color:#fff;box-sizing:content-box;font-variant-numeric:tabular-nums;border:2px solid #fff;border-radius:99px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:5px;right:4px}.user-btn{border-radius:var(--r-md);cursor:pointer;height:44px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 8px 0 4px;display:flex}.user-btn:hover{background:var(--gray-100)}.user-btn .who{flex-direction:column;line-height:1.25;display:flex}.user-btn .who strong{font-size:13px;font-weight:600}.user-btn .who small{color:var(--steel);font-size:11px}.user-btn .chev{width:16px;height:16px;color:var(--steel)}.content{flex:1;padding:32px 40px 48px}.offline{background:var(--amber-50);color:var(--amber-700);text-align:center;padding:8px;font-size:13px;font-weight:600}.backdrop,.bottombar{display:none}.lang-compact{border:1px solid var(--gray-200);border-radius:var(--r-full);height:32px;color:var(--steel);align-items:center;gap:2px;padding:0 4px 0 10px;display:inline-flex}.lang-compact>svg{width:15px;height:15px;margin-right:4px}.lang-compact button{font:inherit;color:var(--gray-400);border-radius:var(--r-full);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:12px;font-weight:600}.lang-compact button[aria-pressed=true]{color:var(--ink)}.bell-panel{width:min(380px,100vw - 24px);margin:-4px}.bell-head{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex}.bell-empty{color:var(--steel);flex-direction:column;align-items:center;gap:8px;padding:28px;font-size:13px;display:flex}.bell-all{border:0;border-top:1px solid var(--gray-200);background:var(--gray-50);width:100%;color:var(--navy-600);font:inherit;cursor:pointer;border-radius:0 0 var(--r-md) var(--r-md);padding:12px;font-size:13px;font-weight:600;display:block}.nlist{margin:0;padding:0;list-style:none}.nlist li+li{border-top:1px solid var(--gray-100)}.nlist button{text-align:left;width:100%;font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.nlist.compact button{padding:12px 16px}.nlist button:hover{background:var(--navy-50)}.nlist li.unread strong{color:var(--ink)}.nlist li:not(.unread) .ntext strong{color:var(--steel);font-weight:500}.ntext{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ntext strong{font-size:14px;font-weight:600}.nbody{color:var(--steel);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.ntext time,.timeline time{color:var(--steel);font-size:12px}.unread-dot{background:var(--navy-600);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.feed{margin:0;padding:0;list-style:none}.feed li{align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.feed li+li{border-top:1px solid var(--gray-100)}.feed li.clickable{cursor:pointer}.feed li.clickable:hover{background:var(--navy-50)}.feed-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:14px;display:flex}.feed-text b{font-weight:600}.feed-text small{color:var(--steel);font-size:12px}.timeline{flex-direction:column;gap:18px;margin:0;padding:20px 24px;list-style:none;display:flex}.timeline li{gap:14px;font-size:14px;display:flex;position:relative}.timeline li:not(:last-child):before{content:"";background:var(--gray-200);width:1px;position:absolute;top:16px;bottom:-20px;left:4px}.timeline .tl-dot{border:2px solid var(--navy-600);background:#fff;border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.timeline strong{font-weight:600}.timeline time{display:block}.auth{background:#fff;grid-template-columns:minmax(420px,600px) 1fr;min-height:100%;display:grid}.auth-brand{background:var(--navy-600);color:#fff;flex-direction:column;padding:56px;display:flex}.auth-pitch{max-width:480px;margin:auto 0}.auth-pitch h2{color:#fff;letter-spacing:-.02em;font-size:34px;font-weight:600;line-height:1.2}.auth-pitch p{color:#ffffffd9;margin-top:20px;font-size:15px;line-height:1.6}.auth-brand small{color:#ffffffb3;font-size:13px}.auth-main{flex-direction:column;padding:24px 32px;display:flex}.auth-top{align-items:center;display:flex}.auth-logo-phone{color:var(--navy-600);display:none}.auth-card{width:100%;max-width:400px;margin:auto;padding:32px 0}.auth-form{flex-direction:column;gap:24px;display:flex}.auth-title{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.auth-title>.icon-chip,.auth-title>span:first-child:not(:only-child){margin-bottom:14px}.auth-title h1{letter-spacing:-.02em;font-size:26px;font-weight:600}.auth-title p{color:var(--steel);font-size:14px;line-height:1.5}.auth-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-foot{text-align:center;padding:8px 0}.strength{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:4px;display:grid}.strength span{background:var(--gray-200);border-radius:2px;height:4px}.strength[data-score="1"] .on{background:var(--red-600)}.strength[data-score="2"] .on{background:var(--amber-600)}.strength[data-score="3"] .on,.strength[data-score="4"] .on{background:var(--green-600)}.rules{color:var(--steel);grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;font-size:12px;display:grid}.rules span{align-items:center;gap:6px;display:flex}.rules span.ok{color:var(--green-700)}.enroll-step{align-items:flex-start;gap:14px;font-size:14px;display:flex}.step-n{background:var(--navy-600);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.qr{border:1px solid var(--gray-200);border-radius:var(--r-md);background:#fff;width:186px;padding:8px}.qr img{display:block}.secret{background:var(--gray-100);border-radius:var(--r-xs);word-break:break-all;color:var(--ink);padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.codes{border:1px dashed var(--gray-300);border-radius:var(--r-md);background:var(--gray-50);letter-spacing:.06em;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0;padding:16px 20px 16px 40px;font-family:ui-monospace,Consolas,monospace;font-size:14px;display:grid}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.stat-link{border:1px solid var(--gray-200);text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s}.stat-link:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md);color:inherit}.home-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.weeks{margin:0;padding:8px 0;list-style:none}.weeks li{align-items:center;gap:14px;padding:12px 20px;display:flex}.date-chip{border:1px solid var(--gray-200);border-radius:var(--r-md);flex-direction:column;flex:none;align-items:center;width:44px;padding:6px 0;line-height:1.15;display:flex}.date-chip small{color:var(--steel);text-transform:uppercase;font-size:10px;font-weight:600}.date-chip b{font-size:16px;font-weight:600}.date-chip.now{border-color:var(--navy-600);background:var(--navy-50)}.date-chip.now small,.date-chip.now b{color:var(--navy-600)}.date-chip.done{background:var(--green-50);border-color:#0000}.date-chip.done small,.date-chip.done b{color:var(--green-700)}.wk-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.wk-text strong{font-size:14px;font-weight:600}.wk-mods{flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.mod-chip{border-radius:var(--r-full);background:var(--gray-100);height:22px;color:var(--steel);align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.mod-chip svg{width:12px;height:12px}.mod-chip.ready{background:var(--green-50);color:var(--green-700);font-weight:600}.mod-chip.hidden{opacity:.5}.user-head{align-items:center;gap:16px;display:flex}.user-head .avatar{font-size:18px}.user-sub{color:var(--steel);letter-spacing:0;font-size:14px;font-weight:400}.page-header h1 .badge{letter-spacing:0}.detail-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.facts{grid-template-columns:auto 1fr;align-items:center;gap:14px 16px;margin:0;font-size:13px;display:grid}.facts dt{color:var(--steel)}.facts dd{text-align:right;margin:0;font-weight:600}.access-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px 32px;padding:20px 24px;display:grid}.access-list>div{flex-direction:column;gap:2px;display:flex}.access-list .overline{margin-bottom:6px}.access-row{grid-template-columns:18px 1fr auto 80px;align-items:center;gap:10px;height:34px;font-size:14px;display:grid}.access-row svg{width:16px;height:16px;color:var(--steel)}.access-row.none{color:var(--gray-400)}.access-row .lvl-name{font-size:12px}.legend{flex-wrap:wrap;align-items:center;gap:8px 20px;padding:14px 20px;font-size:13px;display:flex}.legend-title{align-items:center;gap:6px;font-weight:600;display:inline-flex}.legend-item{color:var(--steel);align-items:center;gap:8px;display:inline-flex}.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.matrix thead th{top:var(--topbar-height);z-index:3;background:var(--gray-50);border-bottom:1px solid var(--gray-200);vertical-align:bottom;min-width:104px;padding:12px 8px;position:sticky}.matrix .mod-col{z-index:2;text-align:left;border-right:1px solid var(--gray-200);background:#fff;min-width:240px;padding:6px 20px;font-weight:500;position:sticky;left:0}.matrix thead .mod-col{z-index:4;background:var(--gray-50);color:var(--steel);font-size:12px;font-weight:600}.role-head{flex-direction:column;align-items:center;gap:2px;display:flex}.role-head strong{text-align:center;font-size:13px;font-weight:600;line-height:1.25}.role-head span{color:var(--steel);font-size:11px;font-weight:500}.copy-btn{margin-top:2px;--h:24px!important}.copy-btn svg{width:13px!important;height:13px!important}.matrix .group-row th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--steel);background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:8px 20px;font-size:11px;font-weight:600;position:sticky;left:0}.matrix tbody td{text-align:center;border-bottom:1px solid var(--gray-100);padding:6px}.matrix tbody tr:hover td,.matrix tbody tr:hover .mod-col{background:var(--navy-50)}.matrix td.changed{background:var(--amber-50)!important}.mod-name{align-items:center;gap:10px;display:flex}.mod-name svg{width:16px;height:16px;color:var(--steel)}.mod-name .nr{color:var(--gray-400);font-variant-numeric:tabular-nums;width:18px;font-size:12px}.lvl-P{--cell-bg:var(--navy-600);--cell-fg:#fff}.lvl-M{--cell-bg:var(--navy-400);--cell-fg:#fff}.lvl-O{--cell-bg:var(--navy-100);--cell-fg:var(--navy-700);--cell-border:var(--navy-200)}.lvl-L{--cell-bg:#fff;--cell-fg:var(--navy-600);--cell-border:var(--navy-200)}.lvl-NONE{--cell-bg:transparent;--cell-fg:var(--gray-400);--cell-border:var(--gray-200)}.lvl-pill{border-radius:var(--r-sm);background:var(--cell-bg);min-width:28px;height:24px;color:var(--cell-fg);border:1px solid var(--cell-border,transparent);justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.lvl-pill .lvl-name{font-weight:500}.diff-list{flex-direction:column;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.diff-list li{border-bottom:1px solid var(--gray-100);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.diff-what{flex:1}.logo-preview{border:1px solid var(--gray-200);border-radius:var(--r-md);background:var(--gray-50);height:120px;color:var(--navy-600);place-items:center;padding:16px;display:grid}.logo-preview img{max-width:100%;max-height:80px}.dropzone{border:1px dashed var(--gray-300);border-radius:var(--r-md);background:#fff;transition:border-color .12s,background .12s}.dropzone:hover,.dropzone.drag{border-color:var(--navy-400);background:var(--navy-50)}.dz-btn{width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:20px;font-size:14px;font-weight:600;display:flex}.dz-btn svg{width:20px;height:20px;color:var(--navy-600)}.dropzone.compact .dz-btn{flex-direction:row;justify-content:center;gap:8px;padding:10px 14px;font-size:13px}.dz-btn small{color:var(--steel);font-size:12px;font-weight:400}.dz-error{border-top:1px solid var(--gray-200);color:var(--red-700);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.progress{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.progress span{background:var(--navy-600);border-radius:99px;height:4px;transition:width .2s;display:block}.progress small{color:var(--steel);font-size:12px}.table .group-row th{color:var(--navy-600);letter-spacing:.06em;text-transform:uppercase;background:#fff;height:36px;padding-top:8px;font-size:11px}.session-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.session-list li{border:1px solid var(--gray-200);border-radius:var(--r-md);align-items:center;gap:14px;padding:12px 14px;font-size:14px;display:flex}@media (width<=1100px){.home-grid,.detail-grid{grid-template-columns:1fr}}@media (width<=900px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-logo-phone{display:block}.auth-main{padding:20px 24px}.auth-card{margin:32px auto auto}}@media (width<=767px){.phone-only{display:inline-flex!important}.desktop-only{display:none}.shell{grid-template-columns:1fr}.sidebar{width:min(86vw, var(--sidebar-width));z-index:30;height:100%;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.open .sidebar{box-shadow:var(--shadow-lg);transform:none}.shell.open .backdrop{z-index:25;background:#091b328c;display:block;position:fixed;inset:0}.burger,.topbar-logo{display:inline-flex}.topbar{gap:4px;height:56px;padding:0 8px 0 4px}.topbar .search{display:none}.topbar.searching .search{width:auto;display:block;position:absolute;top:10px;left:8px;right:52px}.topbar.searching .topbar-logo{visibility:hidden}.user-btn{padding:0 4px}.user-btn .who,.user-btn .chev{display:none}.content{padding:20px 16px 96px}.bottombar{z-index:20;border-top:1px solid var(--gray-200);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottombar a,.bottombar button{font:inherit;color:var(--steel);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:4px 2px;font-size:11px;font-weight:500;display:flex}.bottombar svg{width:20px;height:20px}.bottombar a.active{color:var(--navy-600);font-weight:600}.bb-icon{display:inline-flex;position:relative}.bb-dot{background:var(--red-600);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:-1px;right:-2px}.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid-stats .stat{gap:8px;padding:16px}.grid-stats .stat .value{font-size:24px}.grid-stats .stat .value.sm{font-size:14px}.user-head{gap:12px}.user-head .avatar{--s:48px!important}.page-header h1 .row{font-size:20px}.matrix .mod-col{min-width:180px;padding:6px 12px}.access-list{padding:16px}}.fs-fields>.segmented{align-self:flex-start}@media (width<=640px){.dt-toolbar .select{flex:1;min-width:0}.dt-toolbar .count-label{width:100%;margin-left:0}}.auth .field .req{display:none}.matrix-wrap{border-radius:var(--r-lg);overflow:clip}@media (width<=1200px){.matrix-wrap{overflow-x:auto}.matrix thead th{top:0}}.matrix thead th:first-child{border-top-left-radius:var(--r-lg)}.matrix thead th:last-child{border-top-right-radius:var(--r-lg)}.mcell{border-radius:var(--r-sm);border:1px solid var(--cell-border,transparent);background:var(--cell-bg);width:56px;height:32px;color:var(--cell-fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:box-shadow .12s,transform .12s;display:inline-flex;position:relative}.mcell .star{margin-left:2px;font-weight:700}.mcell:hover:not(:disabled){box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--navy-300)}.mcell[aria-expanded=true]{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--navy-600)}.mcell:disabled{cursor:default}.matrix td.changed .mcell{box-shadow:0 0 0 2px var(--amber-50), 0 0 0 4px var(--amber-600)}.level-pop{z-index:60;border:1px solid var(--gray-200);border-radius:var(--r-lg);width:280px;box-shadow:var(--shadow-lg);background:#fff;padding:6px;animation:.1s ease-out pop;position:fixed}.lp-title{color:var(--steel);padding:8px 10px 6px;font-size:12px;font-weight:600}.lp-item{border-radius:var(--r-md);width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:12px;padding:8px 10px;display:flex}.lp-item:hover,.lp-item:focus-visible{background:var(--gray-100);box-shadow:none}.lp-item.on{background:var(--navy-50)}.lp-text{flex-direction:column;flex:1;min-width:0;display:flex}.lp-text strong{font-size:14px;font-weight:600}.lp-text small{color:var(--steel);font-size:12px;line-height:1.35}.lp-check{color:var(--navy-600);flex:none}.lp-scope{border-top:1px solid var(--gray-200);cursor:pointer;align-items:center;gap:12px;margin:6px 0 0;padding:10px 10px 6px;display:flex}.lp-scope.off{opacity:.5;cursor:default}.card>.nlist li:first-child button{border-radius:var(--r-lg) var(--r-lg) 0 0}.card>.nlist li:last-child button{border-radius:0 0 var(--r-lg) var(--r-lg)}
