:root{--paper:#faf6ee;--paper-raised:#fff;--paper-sunken:#f3ecdd;--ink:#2b1b10;--ink-soft:#6e5b48;--ink-faint:#9c8b78;--brand:#8a4b26;--brand-strong:#5e3116;--brand-deep:#3c1f0e;--brand-on:#fff;--brand-soft:#efdfc6;--gold:#c8912f;--gold-soft:#f6e6c8;--line:#e6d9c3;--line-strong:#d8c6a6;--success:#3f7d5c;--success-bg:#e4efe8;--critical:#ae3b2e;--critical-bg:#f5e1dd;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #2b1b1012;--shadow-md:0 10px 30px #2b1b101a;--shadow-lg:0 20px 60px #2b1b102e;--font-display:"Fraunces", Georgia, serif;--font-body:"IBM Plex Sans", -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-display);margin:0 0 4px;font-weight:600}a{color:var(--brand)}code{font-family:var(--font-mono);background:var(--brand-soft);border-radius:4px;padding:1px 5px;font-size:.9em}.btn-primary,.btn-ghost,.icon-btn,.btn-google{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:999px;font-weight:600}.btn-primary{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-strong) 100%);color:var(--brand-on);width:100%;padding:11px 20px;font-size:.95rem;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 1px 2px #2b1b1026}.btn-primary:hover{background:linear-gradient(180deg, var(--brand-strong) 0%, var(--brand-deep) 100%);transform:translateY(-1px);box-shadow:0 6px 16px #2b1b1038}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:0 0;padding:9px 16px;transition:background .12s,border-color .12s}.btn-ghost:hover{background:var(--brand-soft);border-color:var(--brand)}.btn-sm{padding:7px 14px;font-size:.82rem}.icon-btn{border:1px solid var(--line-strong);color:var(--ink-soft);background:0 0;border-radius:7px;padding:6px 10px;font-size:.8rem;transition:background .12s,color .12s}.icon-btn:hover{background:var(--brand-soft);color:var(--brand-strong)}.btn-google{background:var(--paper-raised);border:1px solid var(--line-strong);width:100%;color:var(--ink);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:.95rem;transition:box-shadow .12s,transform .12s,border-color .12s;display:flex}.btn-google:hover{box-shadow:var(--shadow-md);border-color:var(--ink-faint);transform:translateY(-1px)}.btn-google:active{transform:translateY(0)}.auth-divider{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;margin:18px 0;font-size:.78rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line-strong);flex:1;height:1px}.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-art-panel{background:radial-gradient(120% 140% at 15% 10%, var(--brand) 0%, var(--brand-strong) 45%, var(--brand-deep) 100%);color:var(--brand-on);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-art-bg-text{pointer-events:none;z-index:0;flex-direction:column;justify-content:space-evenly;gap:28px;display:flex;position:absolute;inset:-10% -25%;transform:rotate(-6deg)}.auth-art-bg-text span{font-family:var(--font-display);white-space:nowrap;color:#ffd6943d;-webkit-text-stroke:1px #ffd69429;font-size:4rem;font-style:italic;font-weight:600}.auth-art-rings{z-index:0;pointer-events:none;position:absolute;inset:0}.auth-art-rings .ring{border:1px solid #ffd1802e;border-radius:50%;position:absolute}.auth-art-rings .ring-1{border-color:#ffd18038;width:520px;height:520px;top:-160px;right:-180px}.auth-art-rings .ring-2{width:340px;height:340px;bottom:-140px;right:-60px}.auth-art-rings .ring-3{border-color:#ffd18024;width:200px;height:200px;bottom:20%;left:10%}.auth-art-content{z-index:1;position:relative}.auth-art-brand{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.auth-art-quote{font-family:var(--font-display);z-index:1;max-width:11ch;margin:0 0 14px;font-size:2.4rem;font-weight:600;line-height:1.15;position:relative}.auth-art-quote-sub{color:#ffffffc7;z-index:1;max-width:34ch;font-size:.98rem;line-height:1.5;position:relative}.auth-form-panel{background:var(--paper-sunken);justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{width:100%;max-width:400px}.auth-card-inner{background:var(--paper-raised);border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #2b1b1014,0 4px 16px #2b1b100f}.auth-card-title{color:var(--ink);letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.6rem;font-weight:700}.auth-card-security{text-align:center;color:var(--ink-faint);margin-top:1rem;font-size:.72rem}.auth-sub{color:var(--ink-soft);margin-bottom:24px;font-size:.95rem}.auth-notice{background:var(--brand-soft);border-radius:var(--radius);margin-bottom:18px;padding:10px 14px;font-size:.85rem}.auth-form{flex-direction:column;gap:6px;display:flex}.auth-form label{color:var(--ink-soft);margin-top:10px;font-size:.8rem;font-weight:600}.auth-form input,.auth-form select{border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);font-family:var(--font-body);border-radius:8px;padding:11px 13px;font-size:.95rem;transition:border-color .12s,box-shadow .12s}.auth-form input:focus,.auth-form select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.auth-hint{color:var(--ink-faint);margin:2px 0 0;font-size:.76rem}.auth-error{color:var(--critical);background:var(--critical-bg);border-radius:8px;margin-top:12px;padding:9px 12px;font-size:.85rem}.auth-form .btn-primary{margin-top:18px}.auth-switch{color:var(--ink-soft);text-align:center;margin-top:20px;font-size:.88rem}.password-field{display:flex;position:relative}.password-field input{flex:1;padding-right:68px!important}.password-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--brand)}.radio-row{gap:16px;margin-top:4px;display:flex}.radio-row label{color:var(--ink);align-items:center;gap:6px;margin-top:0;font-size:.85rem;font-weight:500;display:flex}.setup-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;max-width:480px;margin:40px auto;padding:40px}.setup-card h2{margin-top:0}.auth-card-brand{justify-content:center;align-items:center;gap:12px;margin-bottom:24px;display:none}.auth-card-brand--always{display:flex}.auth-card-coin{background:radial-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);color:#fff;width:40px;height:40px;font-family:var(--font-display);letter-spacing:.02em;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 2px 8px #2b1b103d}.auth-card-name{color:var(--ink);letter-spacing:-.01em;font-size:1rem;font-weight:700;line-height:1.1}.auth-card-tagline{color:var(--ink-soft);margin-top:2px;font-size:.78rem;font-style:italic}@media (max-width:860px){.auth-shell{grid-template-columns:1fr}.auth-art-panel{display:none}.auth-card-brand{display:flex}}.app-settings-mobile{color:var(--ink-soft);border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:background .12s,color .12s;display:none}.app-settings-mobile:hover{color:var(--brand-strong);background:var(--brand-soft)}.app-shell{min-height:100vh;position:relative}.app-topbar{border-bottom:1px solid var(--line);background:var(--paper-raised);z-index:2;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:relative;box-shadow:0 1px #2b1b1008}.app-topbar-left{align-items:center;gap:32px;display:flex}.app-brandmark{font-family:var(--font-display);font-weight:600}.app-nav{gap:4px;display:flex}.app-nav a{color:var(--ink-soft);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.app-nav a:hover{color:var(--brand-strong);background:var(--paper-sunken)}.app-nav a.active{color:var(--brand-strong);background:var(--brand-soft);font-weight:600}.app-topbar-right{align-items:center;gap:16px;display:flex}.app-org-name{color:var(--ink-soft);font-size:.88rem}.app-org-role{color:var(--ink-faint);text-transform:capitalize}.app-content{z-index:1;max-width:980px;margin:0 auto;padding:32px 28px 80px;position:relative}.page-sub{color:var(--ink-soft);margin-bottom:24px}.app-bg-wrap{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.app-bg-rings{will-change:transform;width:310px;height:310px;position:absolute}.app-bg-rings--tl{opacity:.55;width:240px;height:240px;top:-50px;left:-70px}.app-bg-rings--tr{opacity:.4;width:190px;height:190px;top:-60px;right:30%}.app-bg-rings--cl{opacity:.3;width:160px;height:160px;top:40%;left:20%}.app-bg-ring{border:2px solid;border-radius:50%;animation:14s ease-in-out infinite app-bg-breathe;position:absolute}.app-bg-ring-1{border-width:1.5px;border-color:#c8912f4d;animation-delay:0s;inset:0}.app-bg-ring-2{border-width:1.5px;border-color:#c8912f5c;animation-delay:-3.5s;inset:29px}.app-bg-ring-3{border-width:2px;border-color:#8a4b264d;animation-delay:-7s;inset:59px}.app-bg-ring-4{border-width:2px;border-color:#8a4b2666;animation-delay:-10.5s;inset:90px}.app-bg-ring-5{border-width:2.5px;border-color:#c8912f7a;animation-delay:-5s;inset:122px}.app-bg-coin-glow{background:radial-gradient(circle,#c8912f29 0%,#c8912f12 50%,#0000 100%);border-radius:50%;position:absolute;inset:60px}@keyframes app-bg-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.018)}}.app-bg-particles{pointer-events:none;position:absolute;inset:0}.app-bg-particle{background:#c8912fb3;border-radius:50%;animation:linear infinite app-bg-float;position:absolute;bottom:-6px}@keyframes app-bg-float{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh)translate(12px)}}.app-bg-text{will-change:transform;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-around;display:flex;position:absolute;inset:-50% -20%;transform:rotate(-14deg)}.app-bg-text span{font-family:var(--font-display);color:var(--brand);opacity:.2;white-space:nowrap;letter-spacing:.04em;font-size:2rem;font-style:italic;font-weight:700;display:block}.app-bg-text span:nth-child(2n){opacity:.11;font-size:1.65rem}.kpi-row{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:28px;display:grid}.kpi-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 20px 20px 24px;transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(180deg, var(--gold) 0%, var(--brand) 100%);width:4px;position:absolute;top:0;bottom:0;left:0}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:.76rem;font-weight:600}.kpi-value{font-family:var(--font-mono);color:var(--brand-strong);margin:8px 0;font-size:1.6rem;font-weight:600}.kpi-link{font-size:.82rem;font-weight:500;text-decoration:none}.kpi-link-disabled{color:var(--ink-faint)}.panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:24px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--paper-sunken) 0%, var(--paper-raised) 100%);padding:16px 20px}.panel-head h3{font-size:1.02rem}.panel-body{padding:20px}.panel-footnote{color:var(--ink-faint);padding:0 20px 18px;font-size:.78rem}.empty-state{color:var(--ink-faint);text-align:center;padding:20px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;text-transform:uppercase;color:var(--ink-faint);padding-bottom:8px;font-size:.72rem;font-weight:600}td{border-top:1px solid var(--line);padding:12px 8px}tbody tr{transition:background .1s}tbody tr:hover{background:var(--paper-sunken)}.num{text-align:right;font-family:var(--font-mono)}.row-name{font-weight:600}.row-sub{color:var(--ink-faint);font-size:.78rem}.row-actions{text-align:right;justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-actions a.icon-btn{text-decoration:none;display:inline-block}.pill{text-transform:capitalize;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-active{background:var(--success-bg);color:var(--success)}.pill-inactive{background:var(--line);color:var(--ink-faint)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.form-grid .full{grid-column:1/-1}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:.78rem;font-weight:600;display:block}.field input,.field select{border:1px solid var(--line-strong);background:var(--paper);width:100%;font-family:var(--font-body);border-radius:8px;padding:10px 12px;font-size:.92rem;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.employee-form .btn-primary{width:auto;padding-left:24px;padding-right:24px}.preview-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.preview-form{flex-direction:column;gap:4px;display:flex}.preview-form label{color:var(--ink-soft);margin-top:10px;font-size:.78rem;font-weight:600}.preview-form input,.preview-form select{border:1px solid var(--line-strong);background:var(--paper);font-family:var(--font-body);border-radius:8px;padding:10px 12px}.preview-form .btn-primary{margin-top:16px}.preview-result{background:linear-gradient(165deg, var(--brand-soft) 0%, var(--gold-soft) 100%);border-radius:var(--radius);align-self:start;padding:18px 20px}.preview-line{border-bottom:1px solid var(--line-strong);justify-content:space-between;padding:7px 0;font-size:.9rem;display:flex}.preview-line span:last-child{font-family:var(--font-mono)}.preview-net{border-bottom:none;border-top:2px solid var(--brand-strong);margin-top:6px;padding-top:12px;font-size:1.05rem;font-weight:600}@media (max-width:820px){.app-topbar{flex-wrap:wrap;gap:6px;padding:10px 16px 6px}.app-topbar-left{flex:1;gap:16px;min-width:0}.app-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 80%,#0000 100%);mask-image:linear-gradient(90deg,#000 80%,#0000 100%)}.app-nav::-webkit-scrollbar{display:none}.app-topbar-right{scrollbar-width:none;gap:10px;width:100%;padding-bottom:4px;font-size:.82rem;overflow-x:auto}.app-topbar-right::-webkit-scrollbar{display:none}.app-settings-mobile{display:flex}.app-org-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.app-content{padding:20px 16px 80px}.page h1{font-size:1.5rem}.kpi-value{font-size:1.35rem}}@media (max-width:560px){.app-topbar{padding:8px 12px 4px}.app-nav a{padding:6px 10px;font-size:.82rem}.app-content{padding:16px 12px 80px}.kpi-row{grid-template-columns:1fr;gap:12px}.form-grid,.preview-grid{grid-template-columns:1fr}.panel-body{padding:14px}.panel-head{padding:12px 14px}.table-scroll{border-radius:var(--radius)}th,td{padding:10px 6px;font-size:.82rem}.row-actions{gap:4px}.icon-btn{padding:5px 8px;font-size:.74rem}.auth-shell{grid-template-columns:1fr}.auth-art-panel{display:none}.auth-form-panel{background:var(--paper-sunken);padding:20px 16px}.auth-card-inner{padding:1.25rem}.app-bg-rings--tl,.app-bg-rings--tr,.app-bg-rings--cl{display:none}.app-bg-rings{width:220px;height:220px}}@media (max-width:640px){.emp-table-desktop{display:none}.emp-cards-mobile{flex-direction:column;gap:12px;display:flex}}.emp-cards-mobile{display:none}.emp-table-desktop{display:block}.emp-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
