:root{--pgc-indigo:#2c2b6f;--pgc-indigo-deep:#22215b;--pgc-indigo-soft:#3c326e;--pgc-red:#e13b28;--pgc-red-hover:#c53020;--pgc-cyan:#13b1cd;--pgc-ink:#222324;--pgc-muted:#656565;--pgc-paper:#f5f8f9;--ink:var(--pgc-ink);--ink-soft:#322e6d;--muted:var(--pgc-muted);--line:#2c2b6f24;--surface:#ffffffe6;--surface-strong:#fff;--accent:var(--pgc-red);--accent-hover:var(--pgc-indigo-soft);--hover-soft:#2c2b6f14;--hover-soft-strong:#2c2b6f1f;--danger:#af1200;--success:#367d46;--warn:#8a5a12;--sidebar:var(--pgc-indigo);--sidebar-text:#fff;--radius:.65rem;--shadow:0 12px 40px #2c2b6f1a;--font-display:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;color:var(--ink);background-color:var(--pgc-paper);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-image:radial-gradient(80% 50% at 0 0,#2c2b6f1a,#0000 55%),radial-gradient(55% 40% at 100% 0,#e13b2814,#0000 50%),linear-gradient(165deg,#f7f8fc 0%,#f5f8f9 45%,#eef1f7 100%);background-attachment:fixed;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{grid-template-columns:17.5rem 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, #e13b282e, transparent 28%), linear-gradient(180deg, var(--pgc-indigo-soft), var(--pgc-indigo-deep));height:100vh;color:var(--sidebar-text);z-index:20;flex-direction:column;gap:1.75rem;padding:1.75rem 1.25rem;display:flex;position:sticky;top:0}.brand{padding:0 .35rem;animation:.45s both rise}.brand-logo{width:min(9.5rem,100%);height:auto;margin-bottom:.85rem;display:block}.brand-kicker{letter-spacing:.16em;text-transform:uppercase;color:#fff9;margin:0;font-size:.72rem}.brand h1{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.brand-sub{color:#ffffff8c;margin:.35rem 0 0;font-size:.82rem}.sidebar nav{flex-direction:column;gap:.25rem;animation:.5s 60ms both rise;display:flex}.sidebar nav a{color:#ffffffc7;border-radius:.5rem;align-items:center;gap:.65rem;padding:.7rem .85rem;transition:background .18s,color .18s,transform .18s;display:flex}.sidebar nav a .nav-icon{opacity:.7;width:1.15rem;font-size:.95rem}.sidebar nav a:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.sidebar nav a.active{color:#fff;background:#ffffff1f;box-shadow:inset 3px 0 #ffffffa6}.sidebar nav a.active .nav-icon{opacity:1}.sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:1rem;animation:.55s .1s both rise}.user-meta{flex-direction:column;gap:.15rem;margin:0 0 .85rem;padding:0 .35rem;font-size:.9rem;display:flex}.user-meta strong{font-weight:600}.user-meta span{color:#ffffff8c;font-size:.82rem}.user-meta .user-email{color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-logout{width:100%;color:var(--sidebar-text);background:#ffffff14;border:1px solid #ffffff1f}button.btn-logout:hover:not(:disabled){color:#fff;background:#ffffff29}.menu-toggle{display:none}.content{min-width:0;padding:2rem 2.25rem 3rem;animation:.4s both rise}.page{width:100%}.page.page-wide{width:100%;max-width:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;display:flex}.page-header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:600}.page-header p,.lede{color:var(--muted);max-width:36rem;margin:0}.auth-page{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-visual{color:#fff;background:linear-gradient(165deg,#22215b 0%,#2c2b6f 42%,#4a2a5c 72%,#e13b28 100%);flex-direction:column;justify-content:space-between;gap:2rem;min-height:100vh;padding:2.75rem 3rem;animation:.6s both fade;display:flex;position:relative;overflow:hidden}.auth-visual-glow{pointer-events:none;background:radial-gradient(circle,#13b1cd47,#0000 70%);border-radius:50%;width:28rem;height:28rem;position:absolute;inset:auto -20% 20% 30%}.auth-visual-glow:before{content:"";background:radial-gradient(circle,#ffffff1f,#0000 70%);border-radius:50%;width:22rem;height:22rem;position:absolute;top:-18rem;left:-22rem}.auth-visual-top,.auth-visual-main,.auth-visual-footer{z-index:1;position:relative}.auth-logo{width:min(10.5rem,58%);height:auto;margin:0}.auth-logo-mark{width:7.5rem;height:auto;margin-bottom:.25rem}.auth-visual-kicker{letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;margin:0 0 .75rem;font-size:.78rem;font-weight:600}.auth-visual-main{max-width:26rem;animation:.5s 80ms both rise}.auth-visual h1{font-family:var(--font-display);margin:0 0 .85rem;font-size:clamp(2rem,3.8vw,2.7rem);font-weight:700;line-height:1.12}.auth-visual-main>p{color:#ffffffd9;max-width:24rem;margin:0;font-size:1.05rem;line-height:1.55}.auth-highlights{gap:.75rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.auth-highlights li{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffffff2;background:#ffffff1a;border:1px solid #ffffff24;border-radius:.65rem;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;font-size:.95rem;line-height:1.4;display:flex}.auth-highlight-mark{background:#13b1cd;border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-top:.4rem;box-shadow:0 0 0 4px #13b1cd33}.auth-visual-footer{color:#ffffffa6;margin:0;font-size:.85rem}.auth-panel{place-items:center;padding:2rem 1.5rem;animation:.5s 80ms both rise;display:grid}.auth-card{gap:1rem;width:min(24rem,100%);display:grid}.auth-card h1{font-family:var(--font-display);margin:0;font-size:1.85rem;font-weight:600}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:600}label{color:var(--ink-soft);gap:.4rem;font-size:.88rem;font-weight:600;display:grid}input,select,textarea{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--ink);padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}input[type=checkbox],input[type=radio]{width:1.05rem;height:1.05rem;accent-color:var(--pgc-indigo);border-radius:.25rem;flex-shrink:0;margin:0;padding:0}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:0 0 0 3px #2c2b6f24}.checkbox-row{width:fit-content;max-width:100%;color:var(--ink-soft);cursor:pointer;align-items:center;gap:.65rem;margin:0 0 1rem;font-size:.92rem;font-weight:600;display:flex}input:focus,select:focus,textarea:focus{border-color:#2c2b6f73;outline:none;box-shadow:0 0 0 3px #2c2b6f24}button{cursor:pointer;border-radius:var(--radius);background:var(--accent);color:#fff;border:1px solid #0000;padding:.7rem 1.1rem;font-weight:600;transition:background .15s,color .15s,transform .12s}button:hover:not(:disabled){background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{color:var(--ink-soft);border-color:var(--line);background:0 0}button.btn-secondary:hover:not(:disabled){background:var(--hover-soft);color:var(--ink-soft)}.btn-danger-ghost{color:var(--danger);background:0 0;border:none;padding:.35rem .5rem;font-size:.88rem;font-weight:600}button.btn-danger-ghost:hover:not(:disabled){background:var(--hover-soft);color:var(--ink-soft)}.linkish,button.linkish{color:var(--pgc-indigo);background:0 0;border:none;border-radius:.35rem;padding:.2rem .35rem;font-weight:600}button.linkish:hover:not(:disabled),a.linkish:hover{background:var(--hover-soft);color:var(--pgc-indigo-deep)}.form-error,.form-success{border-radius:var(--radius);margin:0;padding:.75rem .9rem;font-size:.92rem}.form-error{color:var(--danger);background:#9b2c2c14}.form-success{color:var(--success);background:#1b6b3a1a}.page-status{color:var(--muted);padding:2rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + .15rem);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.25rem 1.35rem}.panel-title{color:var(--ink-soft);margin:0 0 1rem;font-size:.95rem;font-weight:700}.inline-form,.stack-form{flex-wrap:wrap;align-items:end;gap:.85rem;display:flex}.stack-form{flex-direction:column;align-items:stretch}.form-row{grid-template-columns:1fr 1fr;gap:.85rem;width:100%;display:grid}.inline-form>input,.inline-form>select{flex:10rem;width:auto;min-width:8rem}.table-wrap{border:1px solid var(--line);border-radius:calc(var(--radius) + .15rem);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:32rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.9rem 1rem}.data-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--pgc-indigo);background:#2c2b6f0d;font-size:.78rem;font-weight:700}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#2c2b6f0a}.data-table tbody tr:last-child td{border-bottom:none}.row-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.action-menu{display:inline-flex;position:relative}.action-menu-toggle{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.45rem;justify-content:center;align-items:center;padding:0;font-size:1.25rem;font-weight:700;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.action-menu-toggle:hover:not(:disabled),.action-menu-toggle[aria-expanded=true]{border-color:var(--line);color:var(--ink-soft);background:#2c2b6f14}.action-menu-toggle:active:not(:disabled){background:#2c2b6f1f;transform:none}.action-menu-dropdown{z-index:1000;border:1px solid var(--line);background:var(--surface-strong);border-radius:.55rem;min-width:10rem;padding:.35rem;position:fixed;box-shadow:0 10px 28px #14143229}.action-menu-item{text-align:left;width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.55rem .7rem;font-size:.9rem;font-weight:600;display:block}.action-menu-item:hover:not(:disabled){color:var(--ink-soft);background:#2c2b6f12}.action-menu-item:active:not(:disabled){transform:none}.action-menu-item.is-danger{color:var(--danger)}.action-menu-item.is-danger:hover:not(:disabled){background:var(--hover-soft);color:var(--ink-soft)}.action-menu-item:disabled{opacity:.55;cursor:not-allowed}.empty-state{text-align:center;color:var(--muted);padding:2.5rem 1.5rem}.empty-state strong{color:var(--ink-soft);margin-bottom:.35rem;font-size:1.05rem;display:block}.subject-add-row{align-items:stretch;gap:.5rem;display:flex}.subject-add-row input{flex:1}.subject-add-row .btn-secondary{white-space:nowrap;flex-shrink:0}.chip-row{flex-wrap:wrap;gap:.45rem;display:flex}.chip-removable{cursor:pointer;border:1px solid var(--line);color:var(--ink-soft);background:#2c2b6f0f}.chip-removable:hover:not(:disabled){background:var(--hover-soft-strong);color:var(--ink-soft)}.day-fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:.85rem 1rem}.day-fieldset legend{color:var(--ink-soft);padding:0 .35rem;font-size:.88rem;font-weight:600}.day-grid{flex-wrap:wrap;gap:.35rem .85rem;display:flex}.day-schedule-list{flex-direction:column;gap:.55rem;display:flex}.day-schedule-row{background:#2c2b6f0a;border-radius:.45rem;grid-template-columns:minmax(7.5rem,9rem) minmax(8rem,11rem) minmax(6rem,8rem) 1fr;align-items:end;gap:.75rem;padding:.45rem .55rem;display:grid}.day-schedule-row.is-off{opacity:.55}.day-time-label{margin:0;font-size:.82rem}.day-end-time{color:var(--muted);padding-bottom:.7rem;font-size:.88rem}.day-check{margin:0;font-weight:600}.muted-note{color:var(--muted);margin:0;font-size:.88rem}.monitoring-table select,.monitoring-table input{width:100%;min-width:8rem;padding:.45rem .55rem;font-size:.88rem}.monitoring-table td{vertical-align:middle}@media (width<=640px){.day-schedule-row{grid-template-columns:1fr;align-items:start}.day-end-time{padding-bottom:0}}.welcome-block{margin-bottom:1.75rem}.welcome-block h2{font-family:var(--font-display);margin:0 0 .4rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.85rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + .1rem);box-shadow:var(--shadow);padding:.95rem 1rem}.stat-card.accent{background:linear-gradient(160deg,#2c2b6f14,#ffffffe6)}.stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.stat-value{color:var(--pgc-indigo);letter-spacing:-.02em;font-size:1.65rem;font-weight:700}.dashboard-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin-bottom:1.1rem;display:grid}.chart-panel-body{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.chart-donut{flex-shrink:0;width:180px;height:180px;position:relative}.chart-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-donut-center strong{color:var(--pgc-indigo);font-size:1.55rem;line-height:1.1}.chart-donut-center span{color:var(--muted);font-size:.78rem;font-weight:600}.chart-legend{flex:1;gap:.45rem;min-width:10rem;margin:0;padding:0;list-style:none;display:grid}.chart-legend li{color:var(--ink-soft);grid-template-columns:.75rem 1fr auto;align-items:center;gap:.55rem;font-size:.9rem;display:grid}.chart-legend.compact{flex-wrap:wrap;gap:.65rem 1rem;margin-top:.85rem;display:flex}.chart-legend.compact li{grid-template-columns:none;display:inline-flex}.chart-legend .swatch{border-radius:.2rem;width:.7rem;height:.7rem}.chart-bars{justify-content:space-between;align-items:end;gap:.55rem;min-height:12rem;padding:.5rem .25rem 0;display:flex}.chart-bar-col{flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.chart-bar-track{background:#2c2b6f0a;border-radius:.45rem .45rem .2rem .2rem;justify-content:center;align-items:end;width:100%;height:9.5rem;padding:.35rem .3rem 0;display:flex}.chart-bar-stack{border-radius:.35rem .35rem .15rem .15rem;flex-direction:column-reverse;width:70%;max-width:2.2rem;min-height:.35rem;display:flex;overflow:hidden}.chart-bar-stack .seg{width:100%;min-height:.2rem;display:block}.seg-on-time{background:#367d46}.seg-late{background:#c47a12}.seg-absent{background:#af1200}.seg-left-early{background:#13b1cd}.seg-empty{background:#2c2b6f1f}.chart-bar-label{color:var(--muted);font-size:.75rem;font-weight:700}.chart-bar-value{color:var(--pgc-indigo);font-size:.78rem;font-weight:700}.chart-hbars{flex-direction:column;gap:.75rem;display:flex}.chart-hbar-row{grid-template-columns:minmax(6rem,9rem) 1fr auto;align-items:center;gap:.75rem;display:grid}.chart-hbar-name{color:var(--ink-soft);font-size:.9rem;font-weight:600}.chart-hbar-track{background:#2c2b6f14;border-radius:999px;height:.85rem;position:relative;overflow:hidden}.chart-hbar-scheduled{background:#2c2b6f2e;border-radius:999px;position:absolute;inset:0 auto 0 0}.chart-hbar-recorded{background:var(--pgc-indigo);border-radius:999px;position:absolute;inset:0 auto 0 0}.chart-hbar-meta{color:var(--muted);text-align:right;min-width:3.2rem;font-size:.82rem;font-weight:700}@media (width<=900px){.dashboard-charts{grid-template-columns:1fr}.chart-hbar-row{grid-template-columns:1fr;gap:.35rem}}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.quick-link{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow);padding:1.25rem 1.35rem;transition:transform .18s,border-color .18s,box-shadow .18s;animation:.45s both rise;display:block}.quick-link:nth-child(2){animation-delay:50ms}.quick-link:nth-child(3){animation-delay:.1s}.quick-link:hover{border-color:#2c2b6f59;transform:translateY(-2px);box-shadow:0 16px 36px #2c2b6f1f}.quick-link strong{font-family:var(--font-display);margin-bottom:.3rem;font-size:1.15rem;display:block}.quick-link span{color:var(--muted);font-size:.9rem}.meta-row{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.chip{color:var(--pgc-indigo);background:#2c2b6f14;border-radius:.4rem;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.85rem;font-weight:500;display:inline-flex}.badge{letter-spacing:.02em;border-radius:.35rem;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-active{color:var(--success);background:#367d461f}.badge-invited{color:#0b7a8c;background:#13b1cd24}.badge-inactive{color:var(--pgc-red);background:#e13b281a}.badge-neutral{color:var(--pgc-indigo);background:#2c2b6f14}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{width:min(17.5rem,86vw);box-shadow:var(--shadow);transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.shell.nav-open .sidebar{transform:translate(0)}.nav-backdrop{z-index:15;background:#22215b73;border:none;border-radius:0;padding:0;position:fixed;inset:0}.shell.nav-open:after{display:none}.menu-toggle{background:var(--surface-strong);color:var(--ink);border:1px solid var(--line);align-items:center;gap:.4rem;margin-bottom:1rem;display:inline-flex}.content{padding:1.25rem 1rem 2.5rem}.auth-page{grid-template-columns:1fr}.auth-visual{gap:1.25rem;min-height:18rem;padding:1.75rem}.auth-highlights,.auth-visual-footer{display:none}.form-row{grid-template-columns:1fr}}.code-tag{color:var(--pgc-indigo-deep);letter-spacing:.02em;white-space:nowrap;background:#2c2b6f14;border-radius:.4rem;padding:.12rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;font-weight:600;display:inline-block}.import-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.5rem;display:flex}.import-header .panel-title{margin-bottom:.3rem}.import-lede{color:var(--muted);margin:0;font-size:.92rem}.import-template-btn{align-items:center;gap:.45rem;font-size:.92rem;display:inline-flex}.import-steps{color:var(--muted);flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.1rem 0 1rem;padding:0;font-size:.86rem;list-style:none;display:flex}.import-steps li{align-items:center;gap:.5rem;display:inline-flex}.import-step-num{width:1.45rem;height:1.45rem;color:var(--pgc-indigo);background:#2c2b6f14;border-radius:999px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.import-dropzone{border-radius:var(--radius);text-align:center;cursor:pointer;background:#2c2b6f05;border:1.5px dashed #2c2b6f40;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.6rem 1rem;transition:border-color .15s,background .15s;display:flex;position:relative}.import-dropzone:hover:not(.is-disabled),.import-dropzone.is-dragging{border-color:var(--pgc-indigo);background:#2c2b6f0d}.import-dropzone:focus-within{outline:2px solid var(--pgc-indigo);outline-offset:2px}.import-dropzone.is-disabled{cursor:progress;opacity:.7}.import-dropzone input{opacity:0;width:100%;height:100%;cursor:inherit;position:absolute;inset:0}.import-dropzone-icon{width:2.75rem;height:2.75rem;color:var(--pgc-indigo);background:#2c2b6f14;border-radius:999px;place-items:center;margin-bottom:.25rem;display:grid}.import-dropzone.is-dragging .import-dropzone-icon{background:var(--pgc-indigo);color:#fff}.import-dropzone-title{color:var(--ink);overflow-wrap:anywhere;font-size:.95rem;font-weight:600}.import-browse{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.import-dropzone-hint{color:var(--muted);font-size:.82rem}.import-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.import-error{margin-top:.85rem}.import-preview{gap:.85rem;margin-top:1.1rem;display:grid}.import-preview .meta-row{margin:0}.chip-success{color:var(--success);background:#367d461f}.chip-danger{color:var(--pgc-red);background:#e13b281a}.chip-warn{color:var(--warn);background:#8a5a121a}.import-filter{color:var(--muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.import-filter input{width:auto;margin:0}.import-table{max-height:26rem;overflow:auto}.import-table th{z-index:1;background:var(--surface-strong);position:sticky;top:0}.import-row-error td{background:#e13b280a}.import-time{white-space:nowrap;font-variant-numeric:tabular-nums}.import-notes{min-width:14rem;margin:0;padding-left:1rem;font-size:.84rem;line-height:1.4}.note-error{color:var(--danger)}.note-warn{color:var(--warn)}.toast-region{z-index:1000;pointer-events:none;flex-direction:column;gap:.65rem;width:min(23rem,100vw - 2rem);display:flex;position:fixed;top:1.25rem;right:1.25rem}.toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#fffffff5;border:1px solid #2c2b6f14;border-radius:.9rem;align-items:flex-start;gap:.8rem;padding:.95rem .85rem 1.05rem 1rem;animation:.32s cubic-bezier(.21,1.02,.73,1) both toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #22215b0f,0 8px 24px -6px #22215b2e,0 20px 40px -12px #22215b1f}.toast-leaving{animation:.2s ease-in forwards toast-out}.toast-icon{color:#fff;background:linear-gradient(145deg, #3f9a55, var(--success));border-radius:999px;flex:none;place-items:center;width:1.9rem;height:1.9rem;display:grid;box-shadow:0 0 0 4px #367d461f}.toast-body{flex:1;min-width:0;padding-top:.05rem}.toast-title{color:var(--pgc-indigo-deep);margin:0;font-size:.9rem;font-weight:600;line-height:1.3}.toast-message{color:var(--muted);overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.86rem;line-height:1.45}.toast-close{width:1.6rem;height:1.6rem;color:var(--muted);opacity:.6;background:0 0;border:none;border-radius:.45rem;flex:none;place-items:center;padding:0;transition:opacity .15s,background .15s,color .15s;display:grid}.toast:hover .toast-close,.toast-close:focus-visible{opacity:1}button.toast-close:hover:not(:disabled){background:var(--hover-soft);color:var(--pgc-indigo-deep)}.toast-progress{background:linear-gradient(90deg, var(--success), #4fb168);transform-origin:0;height:3px;animation:toast-progress var(--toast-duration,4s) linear forwards;position:absolute;bottom:0;left:0;right:0}.toast-error .toast-icon{background:linear-gradient(145deg, var(--pgc-red), var(--danger));box-shadow:0 0 0 4px #af12001f}.toast-error .toast-progress{background:linear-gradient(90deg, var(--danger), var(--pgc-red))}.toast-paused .toast-progress{animation-play-state:paused}@keyframes toast-in{0%{opacity:0;transform:translate(1.5rem)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{to{opacity:0;transform:translate(1.5rem)scale(.96)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (width<=640px){.toast-region{width:auto;top:1rem;left:1rem;right:1rem}.toast-close{opacity:1}}@media (prefers-reduced-motion:reduce){.toast,.toast-leaving{animation-duration:1ms}.toast-progress{display:none}}.password-field{display:block;position:relative}.password-field input{padding-right:2.9rem}.password-field input::-ms-reveal{display:none}.password-field input::-ms-clear{display:none}button.password-toggle{width:2.1rem;height:2.1rem;color:var(--muted);background:0 0;border:none;border-radius:.45rem;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}button.password-toggle:hover:not(:disabled){background:var(--hover-soft);color:var(--pgc-indigo-deep)}button.password-toggle:active:not(:disabled){transform:translateY(-50%)}button.password-toggle:focus-visible{outline:2px solid var(--pgc-indigo);outline-offset:1px}.inquiry-filters{gap:1rem;display:grid}.inquiry-presets{flex-wrap:wrap;gap:.4rem;display:flex}.preset-pill{border:1px solid var(--line);background:var(--surface-strong);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.preset-pill:hover{background:var(--hover-soft)}.preset-pill.is-active{background:var(--pgc-indigo);border-color:var(--pgc-indigo);color:#fff}span.preset-pill{cursor:default}.inquiry-filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;display:flex}.inquiry-field{gap:.4rem;display:grid}.inquiry-field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.date-range{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex}.date-range:focus-within{border-color:var(--pgc-indigo);box-shadow:0 0 0 3px #2c2b6f24}.date-range input{cursor:pointer;width:auto;box-shadow:none;background:0 0;border:none}.date-range input:focus{box-shadow:none;outline:none}.date-range-sep{color:var(--muted);padding:0 .15rem}.inquiry-floor select{min-width:13rem}.inquiry-filters-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.inquiry-summary{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.88rem;display:flex}.inquiry-summary strong{color:var(--ink-soft);font-size:.95rem}.inquiry-stats{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.6rem;margin:1rem 0;display:grid}.inquiry-stat{border-radius:var(--radius);border:1px solid var(--line);border-left:3px solid var(--pgc-indigo);background:var(--surface-strong);gap:.1rem;padding:.7rem .9rem;display:grid}.inquiry-stat-value{color:var(--ink);font-size:1.35rem;font-weight:700;line-height:1.2}.inquiry-stat-label{color:var(--muted);font-size:.8rem}.inquiry-stat.stat-pending{border-left-color:#9a9aa8}.inquiry-stat.stat-ok{border-left-color:var(--success)}.inquiry-stat.stat-warn{border-left-color:#d08a1e}.inquiry-stat.stat-bad{border-left-color:var(--danger)}@media (width<=640px){.date-range{width:100%}.date-range input{flex:1;min-width:0}.inquiry-field,.inquiry-floor select{width:100%}}.loader{min-height:55vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;animation:.2s fade;display:flex}.loader-fullscreen{background:var(--pgc-paper);z-index:50;min-height:0;position:fixed;inset:0}.loader-spinner{border:3px solid #2c2b6f24;border-top-color:var(--pgc-indigo);border-right-color:var(--pgc-red);border-radius:50%;width:2.6rem;height:2.6rem;animation:.8s linear infinite loader-spin}.loader-label{font-size:.92rem;font-weight:500}@keyframes loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loader-spinner{animation-duration:2.4s}}.day-time-label input.is-custom{border-color:var(--pgc-indigo);background:#2c2b6f0d;font-weight:600}.day-length-toggle{color:var(--pgc-indigo);cursor:pointer;background:0 0;border:none;margin-left:.6rem;padding:.15rem .5rem;font-size:.82rem;font-weight:600;text-decoration:underline}button.day-length-toggle:hover:not(:disabled){color:var(--accent);background:0 0}
