:root{--core-primary-50:#eff6ff;--core-primary-100:#dbeafe;--core-primary-200:#bfdbfe;--core-primary-300:#93c5fd;--core-primary-400:#60a5fa;--core-primary-500:#3b82f6;--core-primary-600:#2563eb;--core-primary-700:#1d4ed8;--core-primary-800:#1e40af;--core-primary-900:#1e3a8a;--core-neutral-0:#fff;--core-neutral-50:#fafafa;--core-neutral-100:#f5f5f4;--core-neutral-150:#eeeeec;--core-neutral-200:#e5e5e3;--core-neutral-300:#d4d4d1;--core-neutral-400:#a3a3a0;--core-neutral-500:#737370;--core-neutral-600:#525250;--core-neutral-700:#404040;--core-neutral-800:#262626;--core-neutral-900:#171717;--core-neutral-950:#0a0a0a;--core-surface-base:#fafafa;--core-surface-raised:#fff;--core-surface-overlay:#fff;--core-surface-sunken:#f5f5f4;--core-surface-inset:#eeeeec;--core-success-50:#f0fdf4;--core-success-500:#22c55e;--core-success-700:#15803d;--core-danger-50:#fff1f2;--core-danger-500:#f43f5e;--core-danger-700:#be123c;--core-warning-50:#fffbeb;--core-warning-500:#f59e0b;--core-warning-700:#b45309;--core-info-50:#ecfeff;--core-info-500:#06b6d4;--core-info-700:#0e7490;--color-brand-subtle:var(--core-primary-50);--color-brand-muted:var(--core-primary-100);--color-brand-default:var(--core-primary-500);--color-brand-emphasis:var(--core-primary-600);--color-brand-strong:var(--core-primary-700);--color-brand-on:#fff;--color-bg-canvas:var(--core-surface-base);--color-bg-surface:var(--core-surface-raised);--color-bg-raised:var(--core-surface-overlay);--color-bg-sunken:var(--core-surface-sunken);--color-bg-inset:var(--core-surface-inset);--color-bg-overlay:rgba(23,23,23,.54);--color-fg-default:var(--core-neutral-900);--color-fg-muted:var(--core-neutral-600);--color-fg-subtle:var(--core-neutral-400);--color-fg-placeholder:var(--core-neutral-400);--color-fg-disabled:var(--core-neutral-300);--color-fg-on-emphasis:#fff;--color-fg-link:var(--core-primary-600);--color-fg-link-hover:var(--core-primary-700);--color-border-default:var(--core-neutral-200);--color-border-muted:var(--core-neutral-150);--color-border-strong:var(--core-neutral-300);--color-border-focus:var(--core-primary-500);--status-success-bg:var(--core-success-50);--status-success-text:var(--core-success-700);--status-success-solid:var(--core-success-500);--status-danger-bg:var(--core-danger-50);--status-danger-text:var(--core-danger-700);--status-danger-solid:var(--core-danger-500);--status-warning-bg:var(--core-warning-50);--status-warning-text:var(--core-warning-700);--status-warning-solid:var(--core-warning-500);--status-info-bg:var(--core-info-50);--status-info-text:var(--core-info-700);--status-info-solid:var(--core-info-500);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:9999px;--font-sans:"Plus Jakarta Sans",sans-serif;--font-mono:"DM Mono",monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--weight-regular:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px rgba(0,0,0,.04);--shadow-focus:0 0 0 3px rgba(59,130,246,.3);--dur-fast:120ms;--dur-base:200ms;--dur-slow:300ms;--ease-out:cubic-bezier(0,0,.2,1);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--comp-btn-radius:var(--radius-xl);--comp-btn-sm-h:32px;--comp-btn-sm-px:var(--space-3);--comp-btn-md-h:40px;--comp-btn-md-px:var(--space-5);--comp-btn-lg-h:48px;--comp-btn-lg-px:var(--space-6);--comp-input-radius:var(--radius-xl);--comp-input-md-h:40px;--comp-input-border:var(--color-border-default);--comp-card-radius:var(--radius-2xl);--comp-card-pad:var(--space-6);--comp-card-border:var(--color-border-muted);--comp-nav-height:60px;--comp-sidebar-w:240px}body.public-body{min-height:100vh;background:var(--color-bg-canvas)}.auth{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}.auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:var(--space-16) var(--space-12);color:var(--color-brand-on);background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.18),transparent 45%),radial-gradient(circle at 85% 90%,rgba(255,255,255,.12),transparent 40%),var(--color-brand-default)}.auth-brand::after{content:"";position:absolute;right:-160px;bottom:-160px;width:420px;height:420px;border-radius:50%;border:56px solid rgba(255,255,255,.08)}.auth-logo{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em}.auth-logo-mark{width:44px;height:44px;border-radius:var(--radius-lg);display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:24px}.auth-brand h2{margin-top:var(--space-12);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1.15;max-width:18ch}.auth-brand>p{margin-top:var(--space-4);max-width:40ch;opacity:.85}.auth-points{list-style:none;margin-top:var(--space-10);display:grid;gap:var(--space-4)}.auth-points li{display:flex;gap:var(--space-3);align-items:flex-start}.auth-points i{flex:none;width:32px;height:32px;border-radius:var(--radius-md);display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:18px}.auth-points strong{display:block;font-weight:var(--weight-semi)}.auth-points span{opacity:.8;font-size:var(--text-sm)}.auth-main{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.auth-card{width:100%;max-width:400px}.auth-card h1{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.auth-card .lead{color:var(--color-fg-muted);margin-top:var(--space-2);margin-bottom:var(--space-8)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-field{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg-default)}.auth-field .input{height:48px;font-size:var(--text-base)}.auth-submit{margin-top:var(--space-2);width:100%;height:48px;font-size:var(--text-base);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.auth-submit[disabled]{opacity:.7;cursor:not-allowed}.auth-alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.auth-alert i{font-size:18px;margin-top:1px}.auth-alert--danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.auth-alert--warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.auth-footer{margin-top:var(--space-10);font-size:var(--text-xs);color:var(--color-fg-subtle)}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.error-card{text-align:center;max-width:480px}.error-code{font-size:120px;line-height:1;font-weight:var(--weight-bold);letter-spacing:-.04em;background:linear-gradient(135deg,var(--color-brand-default),var(--color-brand-emphasis));-webkit-background-clip:text;background-clip:text;color:transparent}.error-icon{width:64px;height:64px;margin:var(--space-4) auto 0;border-radius:var(--radius-xl);display:grid;place-items:center;background:var(--color-brand-subtle);color:var(--color-brand-emphasis);font-size:32px}.error-card h1{margin-top:var(--space-4);font-size:var(--text-2xl);font-weight:var(--weight-bold)}.error-card p{margin-top:var(--space-2);color:var(--color-fg-muted)}.error-actions{margin-top:var(--space-8);display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.error-actions .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.auth-logo{display:inline-flex;align-items:center;text-decoration:none}.auth-logo-img{filter:brightness(0) invert(1);display:block}.auth-alert--success{background:var(--status-success-bg);color:var(--status-success-text)}.landing{min-height:100vh;display:flex;flex-direction:column}.landing-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-8);max-width:1200px;width:100%;margin:0 auto}.landing-logo{display:inline-flex}.landing-logo img{display:block}.landing-top-actions{display:flex;gap:var(--space-2);align-items:center}.landing main{flex:1}.hero{max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-8) var(--space-16);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:var(--space-12);align-items:center}.eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:var(--weight-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand-emphasis);background:var(--color-brand-subtle);padding:4px 12px;border-radius:var(--radius-pill)}.hero h1{margin-top:var(--space-5);font-size:clamp(2rem,4.2vw,3.25rem);font-weight:var(--weight-bold);line-height:1.1;letter-spacing:-.02em}.hero-lead{margin-top:var(--space-5);font-size:var(--text-lg);color:var(--color-fg-muted);max-width:52ch}.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-8)}.hero-actions .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.hero-note{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-fg-muted)}.hero-note a{color:var(--color-fg-link)}.flow-card{background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);display:grid;gap:var(--space-5)}.flow-step{display:flex;gap:var(--space-4);align-items:center;position:relative}.flow-step:not(:last-child)::after{content:"";position:absolute;left:19px;top:44px;bottom:-20px;width:2px;background:var(--color-border-muted)}.flow-step strong{display:block;font-weight:var(--weight-semi)}.flow-step span{font-size:var(--text-sm);color:var(--color-fg-muted)}.flow-dot{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:18px;background:var(--color-brand-default)}.flow-dot--2{background:var(--status-warning-solid)}.flow-dot--3{background:var(--status-info-solid)}.flow-dot--4{background:var(--status-success-solid)}.features{max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-8);border-top:1px solid var(--color-border-muted)}.features h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-8)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6)}.features-grid article{background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);padding:var(--space-6)}.features-grid i{font-size:28px;color:var(--color-brand-default)}.features-grid h3{margin-top:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semi)}.features-grid p{margin-top:var(--space-2);color:var(--color-fg-muted);font-size:var(--text-sm)}.landing-footer{max-width:1200px;width:100%;margin:0 auto;padding:var(--space-6) var(--space-8);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-sm);border-top:1px solid var(--color-border-muted)}@media (max-width:860px){.hero{grid-template-columns:1fr;padding:var(--space-8) var(--space-6) var(--space-12);gap:var(--space-8)}.landing-top,.features,.landing-footer{padding-left:var(--space-6);padding-right:var(--space-6)}.landing-top-actions .btn-ghost{display:none}}@media (max-width:860px){.auth{grid-template-columns:1fr}.auth-brand{padding:var(--space-8) var(--space-6)}.auth-brand h2{margin-top:var(--space-6);font-size:var(--text-2xl)}.auth-points{display:none}.auth-brand::after{display:none}.auth-main{align-items:flex-start;padding:var(--space-8) var(--space-6)}}@media (max-width:480px){.error-code{font-size:96px}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-fg-default);background-color:var(--color-bg-canvas);line-height:1.5;-webkit-font-smoothing:antialiased}.h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1.2}.h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.25}.h3{font-size:var(--text-xl);font-weight:var(--weight-semi);line-height:1.3}.body{font-size:var(--text-base);font-weight:var(--weight-regular)}.text-muted{color:var(--color-fg-muted)}.text-brand{color:var(--color-brand-default)}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-sm{max-width:384px}.p-8{padding:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.text-sm{font-size:var(--text-sm)}.text-center{text-align:center}.z-10{z-index:10}.relative{position:relative}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.overflow-hidden{overflow:hidden}.bg-canvas{background-color:var(--color-bg-canvas)}.bg-brand{background-color:var(--color-brand-default)}.bg-surface{background-color:var(--color-bg-surface)}.app-header{height:var(--comp-nav-height);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-muted);position:sticky;top:0;z-index:var(--z-sticky)}.header-inner{display:flex;align-items:center;gap:var(--space-6);height:100%;padding:0 var(--space-6);max-width:1280px;margin:0 auto}.header-logo img{display:block}.header-nav{display:flex;gap:var(--space-2);flex:1}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg-muted);text-decoration:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav-link:hover,.nav-link.active{background:var(--color-brand-subtle);color:var(--color-brand-emphasis)}.header-actions{margin-left:auto}.main-wrapper{max-width:1280px;margin:0 auto;padding:var(--space-8) var(--space-6)}.page-header{margin-bottom:var(--space-8)}.card{background:var(--color-bg-surface);border:1px solid var(--comp-card-border);border-radius:var(--comp-card-radius);box-shadow:var(--shadow-sm)}.card-body{padding:var(--comp-card-pad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--comp-btn-md-h);padding:0 var(--comp-btn-md-px);border-radius:var(--comp-btn-radius);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semi);border:none;cursor:pointer;text-decoration:none;transition:opacity var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-brand-default);color:var(--color-brand-on)}.btn-primary:hover{background:var(--color-brand-emphasis)}.btn-secondary{background:var(--color-bg-sunken);color:var(--color-fg-default);border:1px solid var(--color-border-default)}.btn-danger{background:var(--status-danger-solid);color:#fff}.btn-ghost{background:transparent;color:var(--color-fg-muted)}.btn-ghost:hover{background:var(--color-bg-sunken)}.btn-sm{height:var(--comp-btn-sm-h);padding:0 var(--comp-btn-sm-px);font-size:var(--text-xs)}.btn-lg{height:var(--comp-btn-lg-h);padding:0 var(--comp-btn-lg-px);font-size:var(--text-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg-default)}.form-hint{font-size:var(--text-xs);color:var(--color-fg-muted)}.form-error{font-size:var(--text-xs);color:var(--status-danger-text)}.input{height:var(--comp-input-md-h);padding:0 var(--space-4);border:1px solid var(--comp-input-border);border-radius:var(--comp-input-radius);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-fg-default);background:var(--color-bg-surface);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);width:100%}.input:focus{border-color:var(--comp-input-border-focus,var(--color-border-focus));box-shadow:var(--shadow-focus)}.input::placeholder{color:var(--color-fg-placeholder)}.alert{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid transparent;font-size:var(--text-sm)}.alert-icon{flex-shrink:0;font-size:var(--text-md);margin-top:2px}.alert-desc{color:inherit}.alert-danger{background:var(--status-danger-bg);border-color:var(--status-danger-solid);color:var(--status-danger-text)}.alert-warning{background:var(--status-warning-bg);border-color:var(--status-warning-solid);color:var(--status-warning-text)}.alert-success{background:var(--status-success-bg);border-color:var(--status-success-solid);color:var(--status-success-text)}.alert-info{background:var(--status-info-bg);border-color:var(--status-info-solid);color:var(--status-info-text)}.modal-backdrop{background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center}.modal{background:var(--color-bg-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);width:100%;overflow:hidden}.modal-sm{max-width:420px}.modal-header{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--color-border-muted)}.modal-header-icon{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);background:var(--color-bg-sunken);color:var(--color-fg-muted);flex-shrink:0}.modal-header-icon--danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.modal-header-icon--warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.modal-header-icon--success{background:var(--status-success-bg);color:var(--status-success-text)}.modal-title{font-size:var(--text-md);font-weight:var(--weight-semi);flex:1}.modal-close{background:none;border:none;cursor:pointer;color:var(--color-fg-muted);padding:var(--space-1);border-radius:var(--radius-md)}.modal-body{padding:var(--space-6);font-size:var(--text-sm);color:var(--color-fg-muted)}.modal-footer{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--color-bg-sunken)}.modal-footer--spread{justify-content:space-between}.login-aside{background:var(--color-brand-default)}.login-logo-mobile{display:none;max-width:150px;margin-bottom:var(--space-6)}@media (max-width:768px){.login-aside{display:none}.login-logo-mobile{display:block}.login-main{padding:var(--space-6)}}.opacity-75{opacity:.75}.cursor-not-allowed{cursor:not-allowed}.link-brand{color:var(--color-brand-emphasis);text-decoration:none;font-weight:var(--weight-medium)}.link-brand:hover{text-decoration:underline}.justify-between{justify-content:space-between}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.app-header{background:var(--color-bg-raised);border-bottom:1px solid var(--color-border-muted);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}.header-inner{gap:var(--space-6)}.header-logo img{display:block}.header-nav{gap:var(--space-1)}.nav-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-fg-muted);font-weight:var(--weight-medium);text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast)}.nav-link:hover{background:var(--color-bg-sunken);color:var(--color-fg-default)}.nav-link.active{background:var(--color-brand-subtle);color:var(--color-brand-emphasis)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.user-chip{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-fg-default)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--color-brand-default);color:var(--color-brand-on);font-weight:var(--weight-bold);font-size:var(--text-sm)}.role-tag{font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:capitalize}.page-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.page-title .title-group{display:flex;align-items:center;gap:var(--space-3)}.title-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--color-brand-subtle);color:var(--color-brand-emphasis);font-size:22px}.page-title p{margin-top:var(--space-1)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat{background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.stat-label{font-size:var(--text-sm);color:var(--color-fg-muted)}.stat-value{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1.1;margin-top:var(--space-2)}.stat-hint{font-size:var(--text-xs);color:var(--color-fg-subtle);margin-top:var(--space-1)}.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.shortcut{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5);background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}.shortcut:hover{border-color:var(--color-brand-default);box-shadow:var(--shadow-md);transform:translateY(-1px)}.shortcut h2{font-size:var(--text-lg);font-weight:var(--weight-semi)}.shortcut p{color:var(--color-fg-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semi);white-space:nowrap}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--status-success-bg);color:var(--status-success-text)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.badge-danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.badge-info{background:var(--status-info-bg);color:var(--status-info-text)}.card.card-table{overflow:hidden;padding:0}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-muted);text-align:left;vertical-align:top}.table th{font-size:var(--text-xs);font-weight:var(--weight-semi);letter-spacing:.04em;text-transform:uppercase;color:var(--color-fg-muted);background:var(--color-bg-sunken);white-space:nowrap}.table tbody tr:hover td{background:var(--color-bg-sunken)}.table tbody tr:last-child td{border-bottom:0}.table .title{font-weight:var(--weight-semi);color:var(--color-fg-default)}.table .desc{color:var(--color-fg-muted);margin-top:2px;max-width:42ch}.table .contact{color:var(--color-fg-muted);font-size:var(--text-xs);margin-top:2px}.assign-form{display:flex;gap:var(--space-2);align-items:center;min-width:260px}.assign-form .input{flex:1;min-width:0}.empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-fg-muted)}.empty i{font-size:40px;color:var(--color-brand-default);display:inline-block;margin-bottom:var(--space-3)}.empty h2{color:var(--color-fg-default);font-size:var(--text-lg);font-weight:var(--weight-semi)}.empty p{margin-top:var(--space-1)}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.service-card{position:relative;overflow:hidden;background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.service-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--prio-color,var(--color-brand-default))}.service-card[data-priority="imediato"]{--prio-color:var(--status-danger-solid)}.service-card[data-priority="alta"]{--prio-color:var(--status-warning-solid)}.service-card[data-priority="normal"]{--prio-color:var(--status-info-solid)}.service-card[data-priority="baixo"]{--prio-color:var(--status-success-solid)}.service-card .pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.service-card h2{font-size:var(--text-lg);font-weight:var(--weight-semi);line-height:1.3}.service-card .desc{color:var(--color-fg-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.service-meta{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);padding:var(--space-4);background:var(--color-bg-sunken);border-radius:var(--radius-md)}.service-meta dt{color:var(--color-fg-muted)}.service-meta dd{margin:0}.complete-form{display:flex;flex-direction:column;gap:var(--space-2)}.complete-form .btn{width:100%}.textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--comp-input-border);border-radius:var(--comp-input-radius);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-fg-default);background:var(--color-bg-raised);resize:vertical}.textarea:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}.textarea::placeholder{color:var(--color-fg-placeholder)}.form-card{padding:0;overflow:hidden}.form-section{padding:var(--space-6);border-bottom:1px solid var(--color-border-muted)}.form-section:last-of-type{border-bottom:0}.form-section h2{font-size:var(--text-md);font-weight:var(--weight-semi);margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}.form-section>p{color:var(--color-fg-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4)}.form-grid .c-6{grid-column:span 6}.form-grid .c-4{grid-column:span 4}.form-grid .c-3{grid-column:span 3}.form-grid .c-2{grid-column:span 2}.form-grid .c-1{grid-column:span 1}.form-error-text{font-size:var(--text-xs);color:var(--status-danger-text)}.form-grid .form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--color-bg-sunken)}.prio-options{display:flex;gap:var(--space-2);flex-wrap:wrap}.prio-options input{position:absolute;opacity:0;pointer-events:none}.prio-options label{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);background:var(--color-bg-raised)}.prio-options input:checked+label{border-color:var(--color-brand-default);background:var(--color-brand-subtle);color:var(--color-brand-emphasis)}.prio-options input:focus-visible+label{box-shadow:var(--shadow-focus)}.prio-options{position:relative}.shortcut-icon{flex:none;width:48px;height:48px;border-radius:var(--radius-lg);display:grid;place-items:center;background:var(--color-brand-subtle);color:var(--color-brand-emphasis);font-size:24px}.label-desktop{display:inline}[x-cloak]{display:none!important}.dialog-backdrop{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(10,10,10,.45);display:grid;place-items:center;padding:var(--space-4);overflow-y:auto}.dialog{width:100%;max-width:600px;display:flex;flex-direction:column;background:var(--color-bg-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-muted)}.dialog-head h2{font-size:var(--text-lg);font-weight:var(--weight-semi)}.dialog-close{width:36px;height:36px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-fg-muted);cursor:pointer;display:grid;place-items:center;font-size:18px}.dialog-close:hover{background:var(--color-bg-sunken);color:var(--color-fg-default)}.dialog-body{overflow:visible}.dialog-body .form-section{border-bottom:0;padding:var(--space-4) var(--space-6)}.dialog-body .form-section+.form-section{padding-top:0}.dialog-body .form-section:first-child{padding-top:var(--space-5)}.dialog-body .form-actions{padding:var(--space-3) var(--space-6)}.dialog-body .form-actions{border-top:1px solid var(--color-border-muted)}.dialog-note{margin:var(--space-4) var(--space-6) 0;padding:var(--space-3) var(--space-4);background:var(--color-bg-sunken);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-fg-muted)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-inline{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.field-inline>.field{min-width:0}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.kpi{display:block;text-decoration:none;color:inherit;background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-left:4px solid var(--kpi-color,var(--color-brand-default));border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}a.kpi:hover{box-shadow:var(--shadow-md)}.kpi.is-active{border-color:var(--kpi-color,var(--color-brand-default));background:var(--color-bg-sunken)}.kpi-label{font-size:var(--text-sm);color:var(--color-fg-muted)}.kpi-value{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1.1;margin-top:var(--space-1)}.kpi--all{--kpi-color:var(--color-brand-default)}.kpi--pending{--kpi-color:var(--status-warning-solid)}.kpi--progress{--kpi-color:var(--status-info-solid)}.kpi--done{--kpi-color:var(--status-success-solid)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg)}.filter-bar .field label{font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.04em}.filter-bar .input{height:40px}.filter-bar .filter-actions{display:flex;gap:var(--space-2);align-items:center;margin-left:auto}.period-label{font-size:var(--text-sm);color:var(--color-fg-muted)}.tabs{display:inline-flex;gap:var(--space-1);padding:4px;background:var(--color-bg-sunken);border-radius:var(--radius-pill);margin-bottom:var(--space-5)}.tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);text-decoration:none;color:var(--color-fg-muted);font-weight:var(--weight-medium);font-size:var(--text-sm)}.tab.is-active{background:var(--color-bg-raised);color:var(--color-fg-default);box-shadow:var(--shadow-sm)}.tab-count{font-size:var(--text-xs);padding:1px 8px;border-radius:var(--radius-pill);background:var(--color-bg-canvas)}.dot-off{color:var(--status-danger-text)}.dot-on{color:var(--status-success-text)}@media (max-width:900px){.assign-form{min-width:0;flex-direction:column;align-items:stretch}.table th:nth-child(4),.table td:nth-child(4){display:none}}@media (max-width:640px){.header-inner{flex-wrap:wrap;gap:var(--space-3)}.header-nav{order:3;width:100%;overflow-x:auto}.role-tag,.user-name,.label-desktop{display:none}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:span 1!important}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.page-title .btn{width:100%}.field-inline{grid-template-columns:1fr}.filter-bar .field{flex:1 1 140px}.filter-bar .filter-actions{margin-left:0;width:100%}.dialog-backdrop{padding:0;place-items:end center}.dialog{max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.tabs{width:100%}.tab{flex:1;justify-content:center}}.text-right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}