@charset "UTF-8";:root{--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg: oklch(.985 .003 250);--surface: #ffffff;--surface-2: oklch(.975 .004 250);--surface-3: oklch(.96 .005 250);--ink: oklch(.2 .02 265);--ink-2: oklch(.42 .015 265);--ink-3: oklch(.6 .012 265);--ink-4: oklch(.72 .01 265);--line: oklch(.92 .006 260);--line-2: oklch(.88 .008 260);--primary: oklch(.52 .18 265);--primary-hover: oklch(.46 .18 265);--primary-soft: oklch(.96 .04 265);--primary-ink: oklch(.36 .16 265);--success: oklch(.62 .14 155);--success-soft: oklch(.96 .04 155);--success-ink: oklch(.38 .14 155);--warning: oklch(.74 .14 75);--warning-soft: oklch(.96 .04 80);--warning-ink: oklch(.45 .13 75);--danger: oklch(.58 .2 25);--danger-soft: oklch(.96 .04 25);--danger-ink: oklch(.48 .18 25);--info: oklch(.62 .13 235);--info-soft: oklch(.96 .03 235);--info-ink: oklch(.4 .13 235);--admin: oklch(.52 .2 305);--admin-soft: oklch(.96 .04 305);--admin-ink: oklch(.4 .16 305);--shadow-1: 0 1px 2px rgba(15, 23, 42, .04), 0 0 0 1px rgba(15, 23, 42, .04);--shadow-2: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -10px rgba(15, 23, 42, .12);--shadow-3: 0 4px 12px rgba(15, 23, 42, .06), 0 24px 56px -16px rgba(15, 23, 42, .18);--shadow-pop: 0 12px 32px -8px rgba(15, 23, 42, .22), 0 2px 6px rgba(15, 23, 42, .08);--r-1: 6px;--r-2: 8px;--r-3: 12px;--r-4: 16px;--r-pill: 999px;--sidebar-w: 260px;--sidebar-w-collapsed: 72px;--topbar-h: 60px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;letter-spacing:-.01em;color:var(--ink)}p{margin:0}.mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}.num{font-variant-numeric:tabular-nums}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;font-size:20px;line-height:1;vertical-align:-4px;-webkit-user-select:none;user-select:none}.ico-sm{font-size:16px;vertical-align:-3px}.ico-lg{font-size:24px;vertical-align:-6px}.ico-xl{font-size:32px;vertical-align:-8px}.ico-fill{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh;width:100%;background:var(--bg);position:relative}.app.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app.banner-on{grid-template-rows:36px var(--topbar-h) 1fr;grid-template-areas:"banner banner" "sidebar topbar" "sidebar main"}.sidebar{grid-area:sidebar;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}.brand{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--line);flex-shrink:0}.brand-mark{width:32px;height:32px;border-radius:8px;background:#0e1a2e;display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 -1px #00000040,0 1px 2px #0f172a26}.brand-name{font-size:16px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.brand-name em{font-style:normal;color:var(--ink-3);font-weight:500}.collapsed .brand-name{display:none}.collapsed .brand{padding:0;justify-content:center}.nav-section{padding:16px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}.collapsed .nav-section{padding:16px 0 4px;text-align:center;font-size:0;height:16px}.collapsed .nav-section:after{content:"\b7";font-size:16px;color:var(--ink-4)}.nav{padding:4px 8px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--r-2);color:var(--ink-2);font-weight:500;cursor:pointer;position:relative;transition:background .12s ease,color .12s ease;white-space:nowrap}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--primary-soft);color:var(--primary-ink);font-weight:600}.nav-item.active .material-symbols-rounded{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20;color:var(--primary)}.nav-item .ico{flex-shrink:0}.nav-item .lbl{flex:1}.nav-item .badge{background:var(--surface-3);color:var(--ink-3);font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--r-pill)}.nav-item.active .badge{background:#fff;color:var(--primary-ink)}.collapsed .nav-item{justify-content:center;padding:9px}.collapsed .nav-item .lbl,.collapsed .nav-item .badge,.collapsed .nav-item .chev{display:none}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-children{padding-left:16px;margin-left:18px;border-left:1px dashed var(--line-2);display:flex;flex-direction:column;gap:1px;margin-top:2px;margin-bottom:4px}.collapsed .nav-children{display:none}.nav-item .chev{font-size:16px;color:var(--ink-4);transition:transform .15s}.nav-item .chev.open{transform:rotate(90deg)}.sidebar-foot{padding:12px;border-top:1px solid var(--line);flex-shrink:0}.user-chip{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--r-2);cursor:default;transition:background .12s}.user-chip:hover{background:var(--surface-2)}.collapsed .user-chip{justify-content:center;padding:6px}.collapsed .user-chip .user-meta{display:none}.user-meta{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0;background:#4f5661;letter-spacing:-.02em}:root[data-theme=dark] .avatar{color:#fff}:root[data-theme=dark] .avatar.tone-indigo{background:#3a61c4}:root[data-theme=dark] .avatar.tone-teal{background:#008383;background:oklch(55% .13 195deg)}:root[data-theme=dark] .avatar.tone-pink{background:#d14e95}:root[data-theme=dark] .avatar.tone-amber{background:#c57d00;background:oklch(65% .16 70deg)}:root[data-theme=dark] .avatar.tone-green{background:#249057}:root[data-theme=dark] .avatar.tone-violet{background:#8244ba}:root[data-theme=dark] .avatar.tone-slate{background:#4f5661}.avatar.sm{width:26px;height:26px;font-size:10px}.avatar.lg{width:40px;height:40px;font-size:14px}.avatar.xl{width:56px;height:56px;font-size:18px}.avatar.tone-indigo{background:#3a61c4}.avatar.tone-teal{background:#008383;background:oklch(55% .13 195deg)}.avatar.tone-pink{background:#d14e95}.avatar.tone-amber{background:#c57d00;background:oklch(65% .16 70deg)}.avatar.tone-green{background:#249057}.avatar.tone-violet{background:#8244ba}.avatar.tone-slate{background:#4f5661}.topbar{grid-area:topbar;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 24px;position:relative;z-index:5}.topbar .crumbs{flex:1;display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:13px}.topbar .crumbs .sep{color:var(--ink-4);font-size:14px}.topbar .crumbs .cur{color:var(--ink);font-weight:600}.topbar .actions{display:flex;align-items:center;gap:6px}.iconbtn{appearance:none;border:0;background:transparent;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:background .12s;position:relative}.iconbtn:hover{background:var(--surface-3);color:var(--ink)}.iconbtn .dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:2px solid var(--surface);box-sizing:content-box}.banner{grid-area:banner;background:linear-gradient(90deg,#ffdeba,#ffd5b4);background:linear-gradient(90deg,color(xyz 0.785 0.768 0.415),color(xyz 0.774 0.71 0.339));color:#472400;color:oklch(30% .1 60deg);font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 20px}.banner b{font-weight:700}.banner .stop-btn{appearance:none;border:1px solid oklch(45% .1 60deg / .3);background:#ffffff80;color:#472400;color:oklch(30% .1 60deg);font-weight:600;padding:4px 10px;border-radius:var(--r-1);cursor:pointer;font-size:12px}.banner .stop-btn:hover{background:#fff}.main{grid-area:main;overflow:auto;padding:24px 28px;min-width:0}.main.wide{padding:24px 32px}.page{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:24px;font-weight:700;letter-spacing:-.02em}.page-sub{color:var(--ink-3);font-size:14px;margin-top:2px}.page-actions{display:flex;gap:8px;flex-shrink:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-1);overflow:hidden}.card-head{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.card-title{font-size:15px;font-weight:600}.card-sub{font-size:12px;color:var(--ink-3);margin-top:2px}.card-body{padding:20px}.card-body.flush{padding:0}.btn{appearance:none;border:1px solid transparent;background:transparent;color:var(--ink);font-weight:600;font-size:13px;padding:0 14px;height:36px;border-radius:var(--r-2);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn .material-symbols-rounded{font-size:18px;vertical-align:0}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 1px 2px #0f172a14,inset 0 -1px #0000001a}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-3);color:var(--ink)}.btn-outline{background:var(--surface);border-color:var(--line-2);color:var(--ink)}.btn-outline:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn-soft{background:var(--primary-soft);color:var(--primary-ink)}.btn-soft:hover{background:#dde8ff;background:oklch(93% .06 265deg)}.btn-danger{background:var(--surface);border-color:var(--line-2);color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-sm{height:30px;padding:0 10px;font-size:12px;border-radius:var(--r-1)}.btn-lg{height:42px;padding:0 18px;font-size:14px}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.field{display:flex;flex-direction:column;gap:6px}.field .lbl{font-size:12px;font-weight:500;color:var(--ink-2);display:flex;justify-content:space-between;align-items:baseline}.field .lbl .opt{color:var(--ink-4);font-weight:400}.field .hint{font-size:11px;color:var(--ink-3)}.field .err{font-size:11px;color:var(--danger);display:flex;gap:4px;align-items:center}.field.has-err .input,.field.has-err .select{border-color:var(--danger)}.input,.select,.textarea{appearance:none;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2);padding:0 12px;height:38px;font-size:13px;color:var(--ink);transition:border-color .12s,box-shadow .12s;width:100%}.textarea{height:auto;padding:10px 12px;min-height:80px;line-height:1.5;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-4)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #345fcf2e}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:36px}.input-group .ico{position:absolute;left:12px;pointer-events:none;color:var(--ink-4);font-size:18px}.vat-row{display:flex;align-items:center;gap:8px}.vat-input{flex:1}.vat-input .input{padding-left:42px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.vat-prefix{position:absolute;left:12px;font-size:13px;font-weight:600;color:var(--ink-2);pointer-events:none}.vat-check-btn{white-space:nowrap}.vat-status{display:grid;place-items:center;font-size:20px}.vat-status.ok{color:var(--success, #16a34a)}.vat-status.bad{color:var(--danger)}.vat-status.warn{color:var(--warn, #d97706)}.material-symbols-rounded.spin{animation:vat-spin .9s linear infinite}@keyframes vat-spin{to{transform:rotate(360deg)}}.search-bar{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-2);padding:0 12px;height:36px;min-width:220px;transition:border-color .12s,box-shadow .12s}.search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #345fcf2e}.search-bar input{appearance:none;border:0;background:transparent;outline:none;padding:0 0 0 8px;font-size:13px;width:100%;height:100%}.search-bar input::placeholder{color:var(--ink-4)}.search-bar .material-symbols-rounded{color:var(--ink-3);font-size:18px}.search-bar .kbd{font-size:11px;color:var(--ink-4);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;background:var(--surface-2)}.badge-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-2);letter-spacing:.01em;white-space:nowrap}.badge-chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.badge-chip.role-admin{background:var(--admin-soft);color:var(--admin-ink)}.badge-chip.role-full{background:var(--primary-soft);color:var(--primary-ink)}.badge-chip.role-limited{background:var(--info-soft);color:var(--info-ink)}.badge-chip.role-active{background:var(--success-soft);color:var(--success-ink)}.badge-chip.role-readonly{background:var(--surface-3);color:var(--ink-3)}.badge-chip.status-active{background:var(--success-soft);color:var(--success-ink)}.badge-chip.status-pending{background:var(--warning-soft);color:var(--warning-ink)}.badge-chip.status-invited{background:var(--info-soft);color:var(--info-ink)}.badge-chip.status-archived,.badge-chip.status-left{background:var(--surface-3);color:var(--ink-3)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl thead th{text-align:left;font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;z-index:1}.tbl tbody td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr.row-pointer{cursor:pointer}.tbl .col-narrow{width:1%;white-space:nowrap}.tbl .col-end{text-align:right}.tbl .row-meta{display:flex;align-items:center;gap:10px}.tbl .row-meta .stack{display:flex;flex-direction:column}.tbl .row-meta .nm{font-weight:600;color:var(--ink);line-height:1.25}.tbl .row-meta .em{font-size:12px;color:var(--ink-3);line-height:1.25}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 4px}.tabs .tab{appearance:none;background:transparent;border:0;padding:12px 14px;font-weight:500;color:var(--ink-3);cursor:pointer;position:relative;display:flex;align-items:center;gap:8px;font-size:13px;border-radius:6px 6px 0 0}.tabs .tab:hover{color:var(--ink);background:var(--surface-2)}.tabs .tab.active{color:var(--primary-ink);font-weight:600}.tabs .tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px 2px 0 0}.tabs .tab .count{font-size:11px;background:var(--surface-3);color:var(--ink-3);padding:1px 6px;border-radius:var(--r-pill);font-weight:600}.tabs .tab.active .count{background:var(--primary-soft);color:var(--primary-ink)}.stat{display:flex;flex-direction:column;gap:6px}.stat .stat-lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.stat .stat-val{font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.stat .stat-delta{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:4px}.stat .stat-delta.up{color:var(--success)}.stat .stat-delta.down{color:var(--danger)}.scrim{position:fixed;inset:0;background:#12161f73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;animation:scrim-in .16s ease-out}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--surface);border-radius:var(--r-4);width:100%;max-width:520px;box-shadow:var(--shadow-3);display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 48px);animation:dialog-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog.lg{max-width:720px}.dialog-head{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-head h3{font-size:16px;font-weight:600}.dialog-head .sub{font-size:12px;color:var(--ink-3);margin-top:2px}.dialog-body{padding:20px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dialog-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;background:var(--surface-2)}.dialog-foot .right{display:flex;gap:8px;margin-left:auto}.dialog-steps{display:flex;align-items:center;gap:6px;padding:14px 22px;background:var(--surface-2);border-bottom:1px solid var(--line)}.dialog-steps .step{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:var(--r-pill);font-size:12px;font-weight:500;color:var(--ink-3)}.dialog-steps .step.active{color:var(--primary-ink);background:var(--primary-soft);font-weight:600}.dialog-steps .step.done{color:var(--ink-2)}.dialog-steps .step .n{width:22px;height:22px;border-radius:50%;background:var(--surface-3);color:var(--ink-3);display:grid;place-items:center;font-size:11px;font-weight:700}.dialog-steps .step.active .n{background:var(--primary);color:#fff}.dialog-steps .step.done .n{background:var(--success);color:#fff}.dialog-steps .sep{flex:0 0 16px;height:1px;background:var(--line-2)}.toast-stack{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none;align-items:center}.toast{pointer-events:auto;background:#0d111b;color:#fff;padding:10px 16px;border-radius:var(--r-2);font-size:13px;box-shadow:var(--shadow-3);display:flex;align-items:center;gap:10px;animation:toast-in .22s cubic-bezier(.2,.8,.2,1);max-width:480px}.toast.success{background:#003e20;background:oklch(32% .1 155deg)}.toast.error{background:#690005;background:oklch(32% .16 25deg)}.toast .material-symbols-rounded{font-size:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skel{background:linear-gradient(90deg,var(--surface-3) 0%,var(--surface-2) 50%,var(--surface-3) 100%);background-size:800px 100%;border-radius:var(--r-1);animation:shimmer 1.4s linear infinite;display:inline-block}.empty{padding:56px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.empty .empty-ico{width:56px;height:56px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;color:var(--ink-3)}.empty .empty-ico .material-symbols-rounded{font-size:28px}.empty .empty-title{font-size:16px;font-weight:600}.empty .empty-sub{color:var(--ink-3);font-size:13px;max-width:360px}.empty .empty-actions{margin-top:6px;display:flex;gap:8px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1100px){.stat-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stat-row{grid-template-columns:1fr}}.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:980px){.grid-2,.grid-3{grid-template-columns:1fr}}.activity{display:flex;flex-direction:column}.activity-item{display:flex;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);position:relative}.activity-item:last-child{border-bottom:0}.activity-item .nub{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-3);flex-shrink:0}.activity-item .nub.evt-create{background:var(--success-soft);color:var(--success-ink)}.activity-item .nub.evt-invite{background:var(--info-soft);color:var(--info-ink)}.activity-item .nub.evt-edit{background:var(--primary-soft);color:var(--primary-ink)}.activity-item .nub.evt-left{background:var(--warning-soft);color:var(--warning-ink)}.activity-item .nub.evt-imp{background:var(--admin-soft);color:var(--admin-ink)}.activity-item .body{flex:1;min-width:0}.activity-item .body .txt{font-size:13px;color:var(--ink)}.activity-item .body .txt b{font-weight:600}.activity-item .body .when{font-size:11px;color:var(--ink-4);margin-top:2px}.spark{width:100%;height:40px}.spark path.line{fill:none;stroke:var(--primary);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.spark path.fill{fill:#345fcf1a;stroke:none}@media(max-width:880px){.app{grid-template-columns:0 1fr}.sidebar{position:absolute;left:0;top:0;bottom:0;width:260px;z-index:50;box-shadow:var(--shadow-3);transform:translate(-100%);transition:transform .2s}.app.mobile-open .sidebar{transform:translate(0)}.scrim-mobile{position:fixed;inset:0;background:#0f172a66;z-index:40}.main{padding:16px}}.pager{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2);font-size:12px;color:var(--ink-3)}.pager .controls{display:flex;align-items:center;gap:4px}.section-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.section-h h3{font-size:14px;font-weight:600}.section-h .sub{color:var(--ink-3);font-size:12px}.hr{height:1px;background:var(--line);border:0;margin:0}.vr{width:1px;background:var(--line);align-self:stretch}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.code-chip{font-family:var(--font-mono);font-size:11px;background:var(--surface-3);color:var(--ink-2);padding:1px 6px;border-radius:4px}.role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-pick{border:1px solid var(--line-2);border-radius:var(--r-2);padding:12px;cursor:pointer;background:var(--surface);display:flex;flex-direction:column;gap:4px;transition:border-color .12s,background .12s}.role-pick:hover{border-color:var(--ink-4)}.role-pick.selected{border-color:var(--primary);background:var(--primary-soft)}.role-pick .rp-title{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px}.role-pick .rp-sub{font-size:11px;color:var(--ink-3);line-height:1.4}.profile-hero{display:flex;gap:20px;align-items:center;padding:24px}.profile-hero .meta{flex:1}.profile-hero h2{font-size:22px;letter-spacing:-.02em}.profile-hero .sub{color:var(--ink-3);font-size:13px;margin-top:4px;display:flex;gap:10px;align-items:center}.filter-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.filter-bar .spacer{flex:1}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-2);padding:2px}.seg button{appearance:none;border:0;background:transparent;padding:4px 10px;font-size:12px;font-weight:500;color:var(--ink-3);border-radius:5px;cursor:pointer}.seg button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.punch-page .page-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.punch-hero{overflow:hidden;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%)}.punch-hero-body{padding:32px 28px 24px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.clock-display{display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums;letter-spacing:-.05em;line-height:1;color:var(--ink);font-feature-settings:"tnum","cv11";-webkit-user-select:none;user-select:none}.clock-display .clock-hm{font-size:88px;font-weight:600}.clock-display .clock-sec{font-size:32px;font-weight:500;color:var(--ink-3);margin-left:4px}.punch-status{display:flex;align-items:center;gap:12px;padding:10px 18px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1)}.punch-status .status-dot{width:10px;height:10px;border-radius:50%;background:var(--ink-4);flex-shrink:0;position:relative}.punch-status.status-working .status-dot{background:var(--success)}.punch-status.status-break .status-dot{background:var(--warning)}.punch-status.status-done .status-dot{background:var(--ink-3)}.punch-status.status-idle .status-dot{background:var(--ink-4)}.punch-status .status-label{font-weight:600;font-size:14px;color:var(--ink);text-align:left}.punch-status .status-sub{font-size:12px;color:var(--ink-3);text-align:left}.punch-status .status-dot.pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--success);opacity:.6;animation:pulse-ring 1.6s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.8);opacity:0}}.punch-hero-btn{appearance:none;border:0;width:min(420px,100%);height:72px;border-radius:var(--r-3);font-size:18px;font-weight:700;letter-spacing:-.01em;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform .1s ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 1px #ffffff2e inset,0 -2px #0000001f inset,0 6px 16px -4px #0f172a4d,0 2px 4px #0f172a26}.punch-hero-btn .material-symbols-rounded{font-size:26px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.punch-hero-btn.in{background:linear-gradient(180deg,#10ae65,#00a760,#00a05b 50%,#009253);background:linear-gradient(180deg,#10ae65,color(xyz 0.158 0.285 0.155),color(xyz 0.141 0.26 0.137) 50%,color(xyz 0.111 0.214 0.106))}.punch-hero-btn.out{background:linear-gradient(180deg,#ea9602,#e58e00,#e08600 50%,#d57700);background:linear-gradient(180deg,#ea9602,color(xyz 0.422 0.358 0.038),color(xyz 0.399 0.327 0.026) 50%,color(xyz 0.355 0.27 0.005))}.punch-hero-btn:hover{filter:brightness(1.05)}.punch-hero-btn:active{transform:translateY(1px);box-shadow:0 1px #ffffff2e inset,0 -1px #0000001f inset,0 3px 8px -3px #0f172a47}.punch-sec-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.punch-locked{font-size:13px;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-pill);background:var(--surface-2)}.punch-locked a{color:var(--primary);font-weight:600;cursor:pointer}.punch-locked a:hover{text-decoration:underline}.punch-hero-stats{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;border-top:1px solid var(--line);background:var(--surface)}.punch-hero-stats>div:not(.vr){padding:16px 20px;display:flex;flex-direction:column;align-items:center;gap:2px}.punch-hero-stats .hs-lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.punch-hero-stats .hs-val{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.punch-hero-stats .hs-tick{font-size:11px;color:var(--ink-4);font-variant-numeric:tabular-nums}.day-bar{margin:4px 0 16px}.day-bar-track{position:relative;height:28px;background:var(--surface-2);border-radius:var(--r-2);overflow:hidden;border:1px solid var(--line)}.day-bar-seg{position:absolute;top:0;bottom:0;border-radius:3px}.day-bar-seg.seg-work{background:linear-gradient(180deg,#10ae65d9,#00a760d9,#00a05bd9 50%,#009253d9);background:linear-gradient(180deg,#10ae65d9,color(xyz 0.141 0.26 0.137 / 0.851),color(xyz 0.111 0.214 0.106 / 0.851));box-shadow:inset 0 0 0 1px #00774233;box-shadow:inset 0 0 0 1px oklch(50% .16 155deg / .2)}.day-bar-seg.seg-break{background:repeating-linear-gradient(45deg,#de9c3173 0% 4px,#de9c3140 4px 8px);box-shadow:inset 0 0 0 1px #98660040;box-shadow:inset 0 0 0 1px oklch(55% .13 75deg / .25)}.day-bar-seg.open:after{content:"";position:absolute;right:-3px;top:-3px;bottom:-3px;width:6px;border-radius:3px;background:#007742;background:oklch(50% .16 155deg);animation:open-pulse 1.4s ease-in-out infinite}@keyframes open-pulse{50%{opacity:.45}}.day-bar-seg.seg-break.open:after{background:#986600;background:oklch(55% .13 75deg)}.day-bar-axis{position:relative;height:16px;margin-top:4px}.day-bar-axis .tick{position:absolute;top:0;transform:translate(-50%);font-size:10px;color:var(--ink-4);font-variant-numeric:tabular-nums}.day-bar-now{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);border-radius:1px;z-index:2;transform:translate(-1px);pointer-events:none}.day-bar-now:after{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--ink)}.segment-list{display:flex;flex-direction:column;gap:2px}.segment-item{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:14px;padding:10px 4px;border-bottom:1px dashed var(--line)}.segment-item:last-child{border-bottom:0}.segment-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:11px;font-weight:600;border-radius:var(--r-pill);letter-spacing:.01em;text-transform:uppercase}.segment-pill.seg-work{background:var(--success-soft);color:var(--success-ink)}.segment-pill.seg-break{background:var(--warning-soft);color:var(--warning-ink)}.segment-times{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.segment-dur{font-size:13px;font-weight:600;color:var(--ink)}.week-list{display:flex;flex-direction:column}.week-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line)}.week-row:last-child{border-bottom:0}.week-row.today{background:var(--primary-soft)}.week-date{text-align:center}.week-date .wd-day{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.week-date .wd-num{font-size:20px;font-weight:700;letter-spacing:-.02em}.week-bar{display:flex;flex-direction:column;gap:6px;min-width:0}.week-bar-track{height:8px;background:var(--surface-2);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--line)}.week-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),oklch(62% .18 280deg));border-radius:inherit;transition:width .4s ease}.week-row.today .week-bar-fill{background:linear-gradient(90deg,#00a05b,#1f9a44,#34932b 50%,#3c8f18,#448b00,#4d8600,#548100);background:linear-gradient(90deg,color(xyz 0.141 0.26 0.137),#1f9a44,#34932b 50%,#3c8f18,color(xyz 0.115 0.197 0.029),color(xyz 0.111 0.188 0.016),color(xyz 0.108 0.178 0.006))}.week-meta{display:flex;gap:10px;justify-content:space-between;font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.week-status{min-width:60px;text-align:right}.stat-card-presence .stat-val{display:flex;align-items:baseline;gap:4px}.stat-card-presence .stat-val .of{font-size:16px;font-weight:500;color:var(--ink-3);letter-spacing:0}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;position:relative;background:var(--ink-4)}.status-dot.tone-working{background:var(--success)}.status-dot.tone-break{background:var(--warning)}.status-dot.tone-done{background:var(--ink-3)}.status-dot.tone-absent{background:var(--danger)}.status-dot.tone-idle{background:var(--ink-4)}.status-dot.pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;color:var(--success);opacity:.6;animation:pulse-ring 1.6s ease-out infinite}.status-dot.tone-break.pulse:after{color:var(--warning)}.presence-list{display:flex;flex-direction:column}.presence-row{display:grid;grid-template-columns:auto 1.4fr 1.4fr auto 100px;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--line);min-width:0}.presence-row:last-child{border-bottom:0}.presence-row:hover{background:var(--surface-2)}.presence-meta{min-width:0}.presence-name{font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-sub{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-status{display:flex;align-items:center;gap:8px;min-width:0}.presence-status-txt{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-worked{font-size:13px;font-weight:600;color:var(--ink);text-align:right;min-width:50px}.mini-bar{position:relative;height:10px;width:100px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.mini-bar.empty{background:repeating-linear-gradient(90deg,var(--surface-2) 0 4px,var(--surface-3) 4px 8px)}.mini-bar-seg{position:absolute;top:0;bottom:0}.mini-bar-seg.seg-work{background:var(--success)}.mini-bar-seg.seg-break{background:repeating-linear-gradient(45deg,var(--warning) 0 3px,oklch(74% .14 75deg / .5) 3px 6px)}.mini-bar-seg.open{box-shadow:2px 0 0 0 var(--success)}.week-chart{padding:8px 4px 0}.week-chart-grid{position:relative;height:220px;padding-left:36px;padding-bottom:24px}.week-chart-grid .grid-line{position:absolute;left:36px;right:4px;height:1px;background:var(--line);z-index:0}.week-chart-grid .grid-label{position:absolute;left:0;transform:translateY(50%);font-size:10px;color:var(--ink-4)}.week-chart-grid .target-line{position:absolute;left:36px;right:4px;height:0;border-top:1.5px dashed var(--primary);z-index:1}.week-chart-grid .target-label{position:absolute;right:0;top:-16px;font-size:10px;font-weight:600;color:var(--primary);background:var(--surface);padding:0 4px}.week-bars{position:absolute;inset:0 4px 24px 36px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:end;z-index:2}.week-chart-col{display:flex;flex-direction:column;align-items:stretch;height:100%;position:relative}.week-chart-track{flex:1;display:flex;align-items:flex-end;width:100%;position:relative}.week-chart-bar{width:100%;background:linear-gradient(180deg,var(--primary),oklch(46% .18 268deg));border-radius:6px 6px 0 0;position:relative;transition:height .32s ease;box-shadow:inset 0 -2px #0000001a,inset 0 1px #ffffff2e}.week-chart-bar.today{background:linear-gradient(180deg,#10ae65,#00a55e,#009b58 50%,#00884c);background:linear-gradient(180deg,#10ae65,color(xyz 0.152 0.276 0.148),color(xyz 0.13 0.242 0.125) 50%,color(xyz 0.092 0.183 0.086));box-shadow:inset 0 -2px #0000001a,inset 0 1px #ffffff2e,0 0 0 2px #10ae6540}.week-chart-bar .bar-val{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px);font-size:11px;font-weight:600;color:var(--ink);white-space:nowrap}.week-chart-x{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:11px;color:var(--ink-3);font-weight:500}.week-chart-x.today{color:var(--success);font-weight:700}.alert-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-2);border:1px solid var(--line);background:var(--surface)}.alert-row .alert-ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.alert-row.tone-warning .alert-ico{background:var(--warning-soft);color:var(--warning-ink)}.alert-row.tone-warning{border-color:oklch(from var(--warning) l c h/.25)}.alert-row.tone-info .alert-ico{background:var(--info-soft);color:var(--info-ink)}.alert-row.tone-danger .alert-ico{background:var(--danger-soft);color:var(--danger-ink)}.alert-row.tone-danger{border-color:oklch(from var(--danger) l c h/.25)}.alert-row.tone-success .alert-ico{background:var(--success-soft);color:var(--success-ink)}.app.in-phone .presence-row{grid-template-columns:auto 1fr;gap:10px;padding:12px 14px}.app.in-phone .presence-row .presence-status,.app.in-phone .presence-row .presence-worked,.app.in-phone .presence-row .mini-bar{grid-column:1/-1;justify-self:stretch;text-align:left}.app.in-phone .presence-row .mini-bar{width:100%}.app.in-phone .week-chart-grid{height:180px;padding-left:28px}.app.in-phone .week-bars{left:28px;gap:8px}.app.in-phone .week-chart-grid .grid-line,.app.in-phone .week-chart-grid .target-line{left:28px}.app.in-phone .week-chart-bar .bar-val{font-size:10px}@media(max-width:880px){.presence-row{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.presence-row .presence-status,.presence-row .presence-worked,.presence-row .mini-bar{grid-column:1/-1}.presence-row .mini-bar{width:100%}.week-chart-grid{height:200px}}.app.in-phone .clock-display .clock-hm{font-size:60px}.app.in-phone .clock-display .clock-sec{font-size:22px}.app.in-phone .punch-hero-body{padding:24px 16px 18px;gap:14px}.app.in-phone .punch-hero-btn{height:60px;font-size:16px}.app.in-phone .punch-hero-stats{grid-template-columns:1fr}.app.in-phone .punch-hero-stats .vr{display:none}.app.in-phone .punch-hero-stats>div:not(.vr){border-bottom:1px solid var(--line);padding:12px 16px}.app.in-phone .punch-hero-stats>div:not(.vr):last-child{border-bottom:0}.app.in-phone .segment-item{grid-template-columns:90px 1fr auto;gap:8px;font-size:12px}.app.in-phone .day-bar-axis .tick:nth-child(2n){display:none}@media(max-width:880px){.clock-display .clock-hm{font-size:64px}.clock-display .clock-sec{font-size:24px}.punch-hero-body{padding:24px 16px 18px}.punch-hero-btn{height:60px;font-size:16px}.punch-hero-stats{grid-template-columns:1fr}.punch-hero-stats .vr{display:none}.punch-hero-stats>div:not(.vr){border-bottom:1px solid var(--line)}.punch-hero-stats>div:not(.vr):last-child{border-bottom:0}.segment-item{grid-template-columns:90px 1fr auto;gap:8px}.day-bar-axis .tick:nth-child(2n){display:none}}:root[data-theme=dark]{--bg: oklch(.17 .012 265);--surface: oklch(.21 .014 265);--surface-2: oklch(.235 .014 265);--surface-3: oklch(.27 .014 265);--ink: oklch(.97 .005 250);--ink-2: oklch(.85 .008 255);--ink-3: oklch(.66 .012 258);--ink-4: oklch(.5 .014 260);--line: oklch(.3 .014 265);--line-2: oklch(.36 .014 265);--primary: oklch(.72 .16 268);--primary-hover: oklch(.78 .16 268);--primary-soft: oklch(.3 .06 268);--primary-ink: oklch(.86 .1 268);--success: oklch(.74 .14 155);--success-soft: oklch(.3 .06 155);--success-ink: oklch(.84 .12 155);--warning: oklch(.8 .14 75);--warning-soft: oklch(.32 .05 75);--warning-ink: oklch(.88 .12 80);--danger: oklch(.7 .18 25);--danger-soft: oklch(.32 .07 25);--danger-ink: oklch(.85 .14 25);--info: oklch(.75 .12 235);--info-soft: oklch(.3 .05 235);--info-ink: oklch(.84 .1 235);--admin: oklch(.72 .16 305);--admin-soft: oklch(.3 .07 305);--admin-ink: oklch(.86 .12 305);--shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-2: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -10px rgba(0, 0, 0, .55);--shadow-3: 0 4px 12px rgba(0, 0, 0, .4), 0 24px 56px -16px rgba(0, 0, 0, .7);--shadow-pop: 0 12px 32px -8px rgba(0, 0, 0, .75), 0 2px 6px rgba(0, 0, 0, .45);color-scheme:dark}:root[data-theme=dark] .btn-primary{color:#070b14;box-shadow:0 1px 2px #0000004d,inset 0 -1px #00000026}:root[data-theme=dark] .scrim{background:#010203a6}:root[data-theme=dark] .toast{background:#e9ebee;color:#0d111b}:root[data-theme=dark] .toast.success{background:#63d18f;color:#001005;color:oklch(15% .05 155deg)}:root[data-theme=dark] .toast.error{background:#ff716b;background:oklch(72% .18 25deg);color:#1c0202}:root[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23a0a8b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E")}:root[data-theme=dark] .spark path.fill{fill:#7e9fff2e;fill:oklch(72% .16 268deg / .18)}:root[data-theme=dark] .banner{background:linear-gradient(90deg,#6c4200,#6c3900);background:linear-gradient(90deg,color(xyz 0.083 0.071 0.005),color(xyz 0.082 0.06 -0.003));color:#ffefdd;color:oklch(96% .04 70deg)}:root[data-theme=dark] .banner .stop-btn{background:#00000040;border-color:#ffffff2e;color:#ffefdd;color:oklch(96% .04 70deg)}:root[data-theme=dark] .banner .stop-btn:hover{background:#00000073}:root[data-theme=dark] .dialog-steps .step.active{background:#212c4c}:root[data-theme=dark] .skel{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:800px 100%}.topbar-brand{display:none;align-items:center;gap:8px;padding-right:10px;border-right:1px solid var(--line);margin-right:4px}.topbar-brand .mini{width:26px;height:26px;border-radius:7px;background:#0e1a2e;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 -1px #00000040,0 1px 2px #0f172a26}.topbar .search-trigger{display:none}@media(max-width:1100px){:root{--sidebar-w: 232px}.main{padding:20px}.page-title{font-size:22px}.stat .stat-val{font-size:26px}.topbar{padding:0 16px}.topbar .search-bar{min-width:180px}}@media(max-width:880px){.topbar .topbar-brand{display:flex}.topbar .crumbs .sep{display:none}.topbar .crumbs>span:not(.cur):not(.topbar-brand){display:none}.topbar .crumbs .cur{font-size:15px;font-weight:700;letter-spacing:-.01em}.topbar .search-bar{display:none}.topbar .search-trigger{display:grid}.page{gap:16px}.page-head{align-items:flex-start;gap:12px}.page-title{font-size:20px}.page-sub{font-size:13px}.page-actions{width:100%}.page-actions .btn{flex:1}.stat-row{grid-template-columns:1fr 1fr;gap:12px}.stat .stat-val{font-size:24px}.card-body{padding:16px}.card-head{padding:14px 16px}.card-body.flush{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{min-width:640px}.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs .tab{flex:0 0 auto}.profile-hero{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}.profile-hero .meta{width:100%}.filter-bar{padding:12px;gap:8px}.filter-bar .search-bar{width:100%;flex:1 1 200px}.filter-bar .seg{flex:1 1 100%;justify-content:stretch}.filter-bar .seg button{flex:1;text-align:center}.scrim{padding:0;align-items:flex-end}.dialog,.dialog.lg{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:92vh;animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.dialog-head{padding:14px 18px}.dialog-body{padding:16px 18px}.dialog-foot{padding:12px 18px;flex-wrap:wrap;gap:8px}.dialog-foot .btn{flex:1}.dialog-steps{padding:12px 18px;overflow-x:auto}.dialog-steps .step{flex:0 0 auto}.role-picker{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr;gap:12px}}@keyframes sheet-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){:root{--topbar-h: 56px}.stat-row{grid-template-columns:1fr}.page-actions{flex-wrap:wrap}.grid-2,.grid-3{grid-template-columns:1fr;gap:14px}.iconbtn{width:38px;height:38px}.nav-section{padding-left:14px}.nav{padding:4px 10px}.main{padding:14px 14px 80px}.pager{flex-direction:column;gap:8px;align-items:flex-start}.pager .controls{width:100%;justify-content:flex-end}.activity-item{padding:12px 16px}.topbar .actions .iconbtn.optional{display:none}.twk-panel{width:calc(100vw - 24px)!important;right:12px!important;bottom:12px!important}}.app.in-phone .topbar .topbar-brand>span:not(.mini){display:none}.app.in-phone .topbar .topbar-brand{padding-right:8px}@media(max-width:880px){.topbar .topbar-brand>span:not(.mini){display:none}.topbar .topbar-brand{padding-right:8px}}.phone-stage{position:fixed;inset:0;z-index:1;background:radial-gradient(ellipse at 30% 0%,#1f283d,#040609 60%),#020306;display:flex;align-items:center;justify-content:center;padding:28px;overflow:auto}.phone-stage .stage-label{position:fixed;top:16px;left:20px;z-index:5;display:flex;align-items:center;gap:8px;color:#caced4;font-size:13px;font-weight:500}.phone-stage .stage-label .chip{background:#14161b;padding:4px 10px;border-radius:999px;border:1px solid oklch(30% .01 265deg);font-family:var(--font-mono);font-size:11px;color:#9b9ea5}.phone-stage .phone-frame{width:402px;height:874px;flex:0 0 auto;position:relative;border-radius:54px;padding:10px;background:linear-gradient(160deg,#3c3d40,#191b1d 45%,#2d2e30);box-shadow:0 50px 100px -20px #000000d9,0 0 0 1.5px #4c4d50,inset 0 1px #ffffff14,inset 0 -1px #0006}.phone-stage .phone-screen{width:100%;height:100%;border-radius:44px;overflow:hidden;position:relative;background:var(--bg);transform:translateZ(0)}.phone-stage .phone-notch{position:absolute;top:14px;left:50%;transform:translate(-50%);width:110px;height:32px;border-radius:18px;background:#000001;z-index:60;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;box-shadow:inset 0 0 0 .5px #ffffff0a}.phone-stage .phone-notch:before{content:"";width:8px;height:8px;border-radius:50%;background:#0d1c27;box-shadow:0 0 2px #5078c866}.phone-stage .phone-status{position:absolute;top:0;left:0;right:0;height:54px;z-index:55;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);pointer-events:none;font-variant-numeric:tabular-nums}.phone-stage .phone-status .right{display:flex;gap:5px;align-items:center;color:var(--ink)}.phone-stage .phone-status .right .material-symbols-rounded{font-size:15px}.phone-stage .phone-app{width:100%;height:100%;padding-top:54px;box-sizing:border-box;overflow:hidden}.phone-stage .phone-app .app{height:100%}.app.in-phone{grid-template-columns:0 1fr}.app.in-phone .sidebar{position:absolute;left:0;top:0;bottom:0;width:260px;z-index:50;box-shadow:var(--shadow-3);transform:translate(-100%);transition:transform .2s ease}.app.in-phone.mobile-open .sidebar{transform:translate(0)}.app.in-phone .main{padding:14px 14px 80px;overflow-x:hidden}.app.in-phone .scrim-mobile{position:fixed;inset:0;background:#0f172a66;z-index:40}.app.in-phone,.app.in-phone .main,.app.in-phone .page,.app.in-phone .page>*,.app.in-phone .card,.app.in-phone .topbar{min-width:0;max-width:100%}.app.in-phone .topbar{overflow:hidden}.app.in-phone .topbar .crumbs{min-width:0;flex:1 1 0}.app.in-phone .topbar .crumbs .cur{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.app.in-phone .stat .stat-val{word-break:break-word}.app.in-phone .row-meta,.app.in-phone .row-meta .stack{min-width:0}.app.in-phone .row-meta .nm,.app.in-phone .row-meta .em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app.in-phone .banner{padding:0 12px;font-size:12px;gap:8px;flex-wrap:wrap;justify-content:flex-start}.app.in-phone .profile-hero .sub{flex-wrap:wrap;gap:6px 10px}.app.in-phone .topbar{padding:0 12px;gap:6px}.app.in-phone .topbar-brand{display:flex}.app.in-phone .topbar .crumbs .sep{display:none}.app.in-phone .topbar .crumbs>span:not(.cur):not(.topbar-brand){display:none}.app.in-phone .topbar .crumbs .cur{font-size:14px;font-weight:700;letter-spacing:-.01em}.app.in-phone .topbar .search-bar{display:none}.app.in-phone .topbar .search-trigger{display:grid}.app.in-phone .topbar .actions .iconbtn.optional{display:none}.app.in-phone .iconbtn{width:36px;height:36px}.app.in-phone .page{gap:16px}.app.in-phone .page-head{align-items:flex-start;gap:12px;flex-direction:column}.app.in-phone .page-title{font-size:20px}.app.in-phone .page-sub{font-size:13px}.app.in-phone .page-actions{width:100%;flex-wrap:wrap}.app.in-phone .page-actions .btn{flex:1}.app.in-phone .stat-row{grid-template-columns:1fr;gap:12px}.app.in-phone .stat .stat-val{font-size:24px}.app.in-phone .card-body{padding:16px}.app.in-phone .card-head{padding:14px 16px}.app.in-phone .grid-2,.app.in-phone .grid-3{grid-template-columns:1fr;gap:14px}.app.in-phone .card-body.flush{overflow-x:auto;-webkit-overflow-scrolling:touch}.app.in-phone .tbl{min-width:560px}.app.in-phone .tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.app.in-phone .tabs::-webkit-scrollbar{display:none}.app.in-phone .tabs .tab{flex:0 0 auto}.app.in-phone .profile-hero{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}.app.in-phone .profile-hero .meta{width:100%}.app.in-phone .filter-bar{padding:12px;gap:8px}.app.in-phone .filter-bar .search-bar{width:100%;flex:1 1 200px}.app.in-phone .filter-bar .seg{flex:1 1 100%;justify-content:stretch}.app.in-phone .filter-bar .seg button{flex:1;text-align:center}.app.in-phone .pager{flex-direction:column;gap:8px;align-items:flex-start}.app.in-phone .pager .controls{width:100%;justify-content:flex-end}.app.in-phone .activity-item{padding:12px 16px}.app.in-phone .scrim{padding:0;align-items:flex-end}.app.in-phone .scrim .dialog,.app.in-phone .scrim .dialog.lg{width:100%;max-width:100%;border-radius:18px 18px 0 0;max-height:92%;animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.app.in-phone .dialog-head{padding:14px 18px}.app.in-phone .dialog-body{padding:16px 18px}.app.in-phone .dialog-foot{padding:12px 18px;flex-wrap:wrap;gap:8px}.app.in-phone .dialog-foot .btn{flex:1}.app.in-phone .dialog-steps{padding:12px 18px;overflow-x:auto}.app.in-phone .dialog-steps .step{flex:0 0 auto}.app.in-phone .role-picker{grid-template-columns:1fr}.app.in-phone .form-grid{grid-template-columns:1fr;gap:12px}.app.in-phone .toast-stack{bottom:16px}@media(max-width:520px),(max-height:940px){.phone-stage{padding:12px}}@media(max-height:900px){.phone-stage .phone-frame{transform:scale(min(1,(100vh - 56px) / 894));transform-origin:center center}}@media(max-width:460px){.phone-stage .phone-frame{transform:scale(min(1,(100vw - 36px) / 422))}.phone-stage .stage-label{display:none}}html,body{height:100%}app-root{display:block;height:100vh}
