.justification-count{margin:0 0 var(--space-3);color:var(--workspace-muted);font-size:var(--fs-caption)}.justification-table table{width:100%}.justification-matricule{color:var(--workspace-muted);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;margin-top:.0625rem;display:block}.justification-dates{font-variant-numeric:tabular-nums;white-space:nowrap}.justification-days{font-variant-numeric:tabular-nums;color:var(--workspace-heading);font-weight:600}.justification-waiting{padding:.125rem var(--space-2);border-radius:var(--radius-chip);background:var(--workspace-surface-soft);color:var(--workspace-muted);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;display:inline-block}.justification-waiting[data-overdue=true]{background:var(--workspace-warning-soft);color:var(--workspace-warning)}.justification-table tr[data-overdue=true] td:first-child{box-shadow:inset 3px 0 0 var(--workspace-warning)}.justification-empty{justify-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);color:var(--workspace-muted);display:grid}.justification-empty .workspace-icon{color:var(--workspace-positive);opacity:.6}.justification-empty p{font-size:var(--fs-body-sm);margin:0}.justification-form{gap:var(--space-4);padding:var(--space-4);display:grid}.justification-range{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-workspace);background:var(--workspace-surface-soft);color:var(--workspace-heading);font-size:var(--fs-body-sm);margin:0;display:flex}.justification-range span{align-items:baseline;gap:var(--space-2);display:flex}.justification-range b{color:var(--workspace-muted);font-size:var(--fs-caption);font-weight:500}.justification-kinds{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.justification-kinds legend,.justification-field>span{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--workspace-muted);font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;padding:0;font-weight:700;display:flex}.justification-kinds>div{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.justification-kinds button{padding:.5rem var(--space-3);border:var(--panel-border) solid var(--workspace-border);border-radius:var(--radius-workspace);background:var(--workspace-surface-soft);font-family:inherit;font-size:var(--fs-body-sm);color:var(--workspace-copy);cursor:pointer;transition:border-color .14s var(--ease-workspace-out), background-color .14s var(--ease-workspace-out)}.justification-kinds button[data-active=true]{border-color:var(--workspace-info);background:var(--workspace-surface-selected);color:var(--workspace-info);font-weight:600}.justification-field{gap:var(--space-2);display:grid}.justification-field>span b{font-size:var(--fs-micro);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;font-weight:500}.justification-field textarea{width:100%;padding:var(--space-3);border:var(--panel-border) solid var(--workspace-border);border-radius:var(--radius-workspace);background:var(--workspace-canvas-soft);color:var(--workspace-heading);font-family:var(--font-workspace-sans);font-size:var(--fs-body-sm);resize:vertical;line-height:1.5}.justification-field textarea:focus-visible{border-color:var(--workspace-info);box-shadow:0 0 0 3px var(--workspace-info-soft);outline:none}.justification-note{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-inline-start:3px solid var(--workspace-info);border-radius:0 var(--radius-workspace) var(--radius-workspace) 0;background:var(--workspace-info-soft);color:var(--workspace-copy);font-size:var(--fs-micro);margin:0;line-height:1.55;display:flex}.justification-note .workspace-icon{flex:none;margin-top:.0625rem}.justification-error{font-size:var(--fs-caption);color:var(--workspace-danger);margin:0}.justification-tabs{margin-bottom:var(--space-3)}.justification-author{gap:.0625rem;display:grid}.justification-author strong{color:var(--workspace-heading);font-size:var(--fs-body-sm);font-weight:500}.justification-author small{color:var(--workspace-muted);font-size:var(--fs-micro)}
*{box-sizing:border-box}html{scrollbar-gutter:stable;font-size:clamp(13.1px,1.00883vw,24px)}html,body{min-width:320px;min-height:100%;color:var(--color-text);background:radial-gradient(circle at top left, var(--gradient-halo-accent), transparent 30rem), radial-gradient(circle at 80% 16%, var(--gradient-halo-success), transparent 28rem), linear-gradient(135deg, var(--color-canvas) 0%, var(--color-canvas-soft) 58%, var(--color-canvas-elevated) 100%);font-family:var(--font-serif);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.redirect-screen{min-height:100vh}.progress-ring{width:var(--progress-ring-size);height:var(--progress-ring-size);border-radius:var(--radius-pill);background:conic-gradient(var(--success) calc(var(--progress-ring-value) * 1%), var(--border-subtle) 0);isolation:isolate;place-items:center;display:grid;position:relative}.progress-ring:before{inset:var(--progress-ring-stroke);z-index:0;border-radius:inherit;background:var(--surface);content:"";position:absolute}.progress-ring strong,.progress-ring small{z-index:1;text-align:center;display:block;position:absolute;left:50%;transform:translate(-50%,-50%)}.progress-ring strong{color:var(--color-auth-text);font-size:calc(var(--progress-ring-size) * .28);line-height:.95;top:47%}.progress-ring small{color:var(--color-auth-muted);font-size:calc(var(--progress-ring-size) * .1);margin-top:0;font-weight:700;top:63%}.progress-stepper{--progress-stepper-marker:34px;--progress-stepper-marker-complete:26px;--progress-stepper-gap:14px;--progress-stepper-line:calc(var(--progress-stepper-gap) - 4px);--progress-stepper-active-line:calc(var(--progress-stepper-gap) - 4px);gap:var(--progress-stepper-gap);margin:0;padding:0;list-style:none;display:grid}.progress-stepper-item{grid-template-columns:var(--progress-stepper-marker) minmax(0, 1fr);min-height:var(--progress-stepper-marker);align-items:center;gap:14px;display:grid;position:relative}.progress-stepper[data-compact-completed=true] .progress-stepper-item[data-state=complete]{grid-template-columns:var(--progress-stepper-marker) minmax(0, 1fr);min-height:var(--progress-stepper-marker-complete);gap:14px}.progress-stepper-connector{left:calc(var(--progress-stepper-marker) / 2);width:1px;height:var(--progress-stepper-line);transform-origin:bottom;background:#d6a84f85;position:absolute;bottom:calc(100% + 2px)}.progress-stepper-item:first-child .progress-stepper-connector{display:none}.progress-stepper-item[data-state=active] .progress-stepper-connector{height:var(--progress-stepper-active-line);background:linear-gradient(180deg, #f4d27f66, var(--brand-gold-bright));animation:.52s ease-out both progress-stepper-line}.progress-stepper-marker{width:var(--progress-stepper-marker);height:var(--progress-stepper-marker);border:1px solid var(--color-auth-gold);border-radius:var(--radius-pill);color:var(--color-auth-gold);transition:width var(--duration-fast) ease, height var(--duration-fast) ease, background var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;place-items:center;font-size:13px;font-weight:900;display:grid;position:relative}.progress-stepper-item[data-state=complete] .progress-stepper-marker{width:var(--progress-stepper-marker-complete);height:var(--progress-stepper-marker-complete);background:#08193433;justify-self:center;font-size:11px}.progress-stepper-item[data-state=active] .progress-stepper-marker{border-color:var(--brand-gold-bright);background:var(--brand-gold-bright);color:var(--brand-elevated);animation:.52s ease-out both progress-stepper-active}.progress-stepper-item[data-state=active] .progress-stepper-marker:after{border-radius:inherit;content:"";opacity:0;border:1px solid #f4d27f42;animation:.52s ease-out both progress-stepper-ring;position:absolute;inset:-4px}.progress-stepper-copy{min-width:0}.progress-stepper-copy strong,.progress-stepper-copy small{display:block}.progress-stepper-copy strong{color:var(--on-brand-strong);font-size:13px;line-height:1.25}.progress-stepper-item[data-state=complete] .progress-stepper-copy strong{color:#f8fafcb8;font-size:12px;font-weight:700}.progress-stepper-copy small{color:var(--on-brand-soft);margin-top:4px;font-size:12px;line-height:1.3;animation:.42s ease-out both progress-stepper-copy}.progress-stepper[data-compact-completed=true] .progress-stepper-item[data-state=complete] .progress-stepper-copy small{display:none}@keyframes progress-stepper-active{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes progress-stepper-ring{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes progress-stepper-line{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes progress-stepper-copy{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.screen-stack{gap:22px;display:grid}.page-header{max-width:860px}.eyebrow{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0 0 8px;font-weight:700}.page-header h1{font-size:var(--font-size-display);line-height:var(--line-tight);letter-spacing:var(--tracking-tight);margin:0}.page-header p:last-child{max-width:680px;color:var(--color-text-soft);font-size:var(--font-size-body);line-height:1.75}.metric-grid,.prototype-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card,.empty-panel,.status-panel,.prototype-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:var(--blur-panel);backdrop-filter:var(--blur-panel)}.metric-card,.prototype-card{border-radius:var(--radius-2xl);min-height:140px;padding:22px}.metric-card span{color:var(--color-text-muted);font-size:var(--font-size-body-sm);display:block}.metric-card strong{margin-top:18px;font-size:2.4rem;display:block}.prototype-card{align-content:space-between;display:grid}.prototype-card span{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-size-meta)}.prototype-card h2{font-size:var(--font-size-card-title);margin:18px 0 10px}.prototype-card p{color:var(--color-text-muted);font-family:var(--font-mono);overflow-wrap:anywhere;margin:0;font-size:.7rem;line-height:1.5}.empty-panel,.status-panel{padding:var(--space-8);border-radius:28px}.empty-panel h2,.status-panel h2{margin:0}.empty-panel p,.status-panel p{color:var(--color-text-soft);line-height:var(--line-copy);margin:10px 0 0}.status-panel{align-items:center;gap:18px;display:flex}.status-dot{width:var(--size-status-dot);height:var(--size-status-dot);border-radius:var(--radius-pill);background:var(--color-accent);box-shadow:0 0 0 8px var(--color-focus-ring);flex:none}.status-success{background:var(--color-success);box-shadow:0 0 0 8px var(--color-success-ring)}.status-error{background:var(--color-danger);box-shadow:0 0 0 8px var(--color-danger-ring)}@media (max-width:1100px){.prototype-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.metric-grid,.prototype-grid{grid-template-columns:1fr}}
