@import url(https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,600&display=swap);:root{--bg-base:#0e0f11;--bg-surface:#16181c;--bg-raised:#1e2026;--bg-hover:#252830;--border:#2a2d35;--border-subtle:#1e2128;--text-primary:#e8eaf0;--text-secondary:#8890a4;--text-muted:#4e5668;--accent:#c8a96e;--accent-dim:#c8a96e26;--accent-glow:#c8a96e14;--green:#4ade80;--green-dim:#4ade801f;--blue:#60a5fa;--blue-dim:#60a5fa1f;--amber:#fbbf24;--amber-dim:#fbbf241f;--orange:#f97316;--orange-dim:#f973161f;--red:#f87171;--red-dim:#f871711f;--violet:#a78bfa;--violet-dim:#a78bfa1f;--sidebar-width:220px;--radius:6px;--radius-lg:10px;font-size:14px}[data-theme=light]{--bg-base:#f4f5f7;--bg-surface:#fff;--bg-raised:#eceef2;--bg-hover:#e2e4ea;--border:#d0d3db;--border-subtle:#e4e6ed;--text-primary:#1a1c22;--text-secondary:#4e5668;--text-muted:#8890a4;--accent:#b8923a;--accent-dim:#b8923a1f;--accent-glow:#b8923a0f;--green:#16a34a;--green-dim:#16a34a1a;--blue:#2563eb;--blue-dim:#2563eb1a;--amber:#d97706;--amber-dim:#d977061a;--orange:#ea580c;--orange-dim:#ea580c1a;--red:#dc2626;--red-dim:#dc26261a;--violet:#7c3aed;--violet-dim:#7c3aed1a}html{transition:background-color .2s ease,color .2s ease}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;color:#e8eaf0;color:var(--text-primary);font-family:DM Mono,monospace;overflow:hidden}.splash,body{background:#0e0f11;background:var(--bg-base)}.splash{align-items:center;display:flex;flex-direction:column;gap:24px;height:100vh;justify-content:center}.splash-logo{color:#c8a96e;color:var(--accent);font-family:Fraunces,serif;font-size:48px;font-weight:300}.app-root{display:flex;height:100vh;overflow:hidden}.sidebar{background:#16181c;background:var(--bg-surface);border-right:1px solid #2a2d35;border-right:1px solid var(--border);flex-shrink:0;width:220px;width:var(--sidebar-width)}.sidebar,.sidebar-logo{display:flex;flex-direction:column}.sidebar-logo{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);color:#e8eaf0;color:var(--text-primary);font-family:Fraunces,serif;font-size:15px;font-weight:300;gap:8px;letter-spacing:.02em;padding:16px 14px}.sidebar-logo-title{align-items:center;display:flex;gap:10px}.logo-mark-sm{align-items:center;background:#c8a96e;background:var(--accent);border-radius:4px;color:#0e0f11;color:var(--bg-base);display:flex;flex-shrink:0;font-family:Fraunces,serif;font-size:16px;font-weight:600;height:28px;justify-content:center;width:28px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 8px}.nav-item{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:13px;gap:10px;padding:9px 12px;text-align:left;transition:all .15s;width:100%}.nav-item:hover{background:#252830;background:var(--bg-hover);color:#e8eaf0;color:var(--text-primary)}.nav-item.active{background:#c8a96e26;background:var(--accent-dim);color:#c8a96e;color:var(--accent)}.nav-icon{font-size:16px;width:20px}.sidebar-user{border-top:1px solid #2a2d35;border-top:1px solid var(--border);padding:12px 14px}.sidebar-user,.sidebar-user-main{align-items:center;display:flex;gap:8px}.sidebar-user-main{flex:1 1;min-width:0}.sidebar-user-actions{flex-direction:column;gap:2px}.sidebar-user-actions,.user-avatar{align-items:center;display:flex;flex-shrink:0}.user-avatar{background:#c8a96e26;background:var(--accent-dim);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:50%;color:#c8a96e;color:var(--accent);font-family:Fraunces,serif;font-size:14px;font-weight:600;height:30px;justify-content:center;width:30px}.user-info{flex:1 1;min-width:0}.user-name{color:#e8eaf0;color:var(--text-primary);font-size:12px;word-break:break-word}.user-role{letter-spacing:.05em;text-transform:uppercase}.user-company,.user-role{color:#4e5668;color:var(--text-muted);font-size:11px}.sidebar-user-clickable{border-radius:8px;cursor:pointer;padding:4px;transition:background .15s}.sidebar-user-clickable:hover{background:#252830;background:var(--bg-hover)}.user-edit-hint{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:12px;margin-left:auto;opacity:0;transition:opacity .15s}.sidebar-user-clickable:hover .user-edit-hint{opacity:.6}.profile-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.profile-modal{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:0;max-height:90vh;max-width:480px;overflow-y:auto;padding:2rem;width:100%}.profile-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.profile-modal-title{color:#e8eaf0;color:var(--text-primary);font-family:Fraunces,serif;font-size:16px;font-weight:400}.profile-close-btn{background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1;padding:2px 6px;transition:color .15s}.profile-close-btn:hover{color:#e8eaf0;color:var(--text-primary)}.profile-section{display:flex;flex-direction:column;gap:12px}.profile-section-title{color:#4e5668;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-label{color:#4e5668;color:var(--text-muted);font-size:11px}.profile-input{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:DM Mono,monospace;font-size:13px;outline:none;padding:8px 10px;transition:border-color .15s;width:100%}.profile-input:focus{border-color:#c8a96e;border-color:var(--accent)}.profile-input--readonly{color:#4e5668;color:var(--text-muted);cursor:not-allowed}.profile-row{display:flex;gap:10px}.profile-row .profile-field{flex:1 1}.profile-save-btn{align-self:flex-start;background:#c8a96e26;background:var(--accent-dim);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:6px;border-radius:var(--radius);color:#c8a96e;color:var(--accent);cursor:pointer;font-family:DM Mono,monospace;font-size:13px;margin-top:4px;padding:8px 18px;transition:background .15s}.profile-save-btn:hover:not(:disabled){background:#c8a96e;background:var(--accent);color:#0e0f11;color:var(--bg-base)}.profile-save-btn:disabled{cursor:not-allowed;opacity:.5}.profile-divider{border:none;border-top:1px solid #2a2d35;border-top:1px solid var(--border);margin:1.5rem 0}.profile-error{color:#f87171;color:var(--red);font-size:12px}.profile-success{color:#4ade80;color:var(--green);font-size:12px}.profile-loading{font-size:13px;padding:1rem 0}.logout-btn,.profile-loading{color:#4e5668;color:var(--text-muted)}.logout-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px;transition:color .15s}.logout-btn:hover{color:#f87171;color:var(--red)}.theme-toggle-btn{align-items:center;background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:4px;transition:color .15s}.theme-toggle-btn:hover{color:#c8a96e;color:var(--accent)}.notif-bell-btn,.notif-bell-wrap{position:relative}.notif-bell-btn{align-items:center;background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;transition:color .15s}.notif-bell-btn:hover{color:#e8eaf0;color:var(--text-primary)}.notif-badge{align-items:center;background:#f87171;background:var(--red,#e05c5c);border-radius:99px;color:#fff;font-size:9px;font-weight:700;height:16px;justify-content:center;line-height:1;min-width:16px;padding:0 3px;right:-4px;top:-2px}.notif-badge,.notif-panel{display:flex;position:absolute}.notif-panel{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;bottom:calc(100% + 8px);box-shadow:0 8px 24px #00000059;flex-direction:column;left:0;max-height:420px;overflow:hidden;width:300px;z-index:1000}.notif-panel-header{align-items:center;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);color:#e8eaf0;color:var(--text-primary);display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:10px 14px 8px}.notif-mark-all{background:none;border:none;color:#c8a96e;color:var(--accent);cursor:pointer;font-size:11px;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-list{flex:1 1;overflow-y:auto}.notif-empty{color:#4e5668;color:var(--text-muted);font-size:13px;padding:24px 14px;text-align:center}.notif-item{align-items:flex-start;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .1s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#252830;background:var(--bg-hover,#ffffff0a)}.notif-item--unread{background:#6366f112}.notif-item--unread:hover{background:#6366f11f}.notif-item-icon{flex-shrink:0;font-size:16px;margin-top:1px}.notif-item-body{flex:1 1;min-width:0}.notif-item-title{color:#e8eaf0;color:var(--text-primary);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-text{color:#8890a4;color:var(--text-secondary);font-size:11px;line-height:1.4;margin-top:2px}.notif-item-time{font-size:10px;margin-top:3px}.notif-item-delete,.notif-item-time{color:#4e5668;color:var(--text-muted)}.notif-item-delete{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;opacity:0;padding:0 2px;transition:opacity .1s,color .1s}.notif-item:hover .notif-item-delete{opacity:1}.notif-item-delete:hover{color:#f87171;color:var(--red)}.main-content{background:#0e0f11;background:var(--bg-base);flex:1 1;overflow-x:hidden;overflow-y:auto}.year-overview{padding:0}.overview-header{background:#0e0f11;background:var(--bg-base);border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);padding:16px 24px 12px;position:sticky;top:0;z-index:10}.overview-title-row{flex-wrap:wrap;gap:16px}.overview-title-row,.year-nav{align-items:center;display:flex}.year-nav{gap:8px}.year-btn{align-items:center;background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;line-height:1;transition:all .15s;width:28px}.year-btn:hover{border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.year-label{font-family:Fraunces,serif;font-size:22px;font-weight:300;min-width:70px;text-align:center}.user-select,.year-label{color:#e8eaf0;color:var(--text-primary)}.user-select{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);flex:1 1;font-family:DM Mono,monospace;font-size:12px;max-width:260px;padding:6px 10px}.action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.btn-action{border:1px solid;border-radius:6px;border-radius:var(--radius);cursor:pointer;font-family:DM Mono,monospace;font-size:12px;font-weight:500;padding:7px 14px;transition:all .15s}.btn-work{background:#4ade801f;background:var(--green-dim);border-color:#4ade80;border-color:var(--green);color:#4ade80;color:var(--green)}.btn-work:hover{background:#4ade8038}.btn-vacation{background:#60a5fa1f;background:var(--blue-dim);border-color:#60a5fa;border-color:var(--blue);color:#60a5fa;color:var(--blue)}.btn-vacation:hover{background:#60a5fa38}.btn-sick{background:#f973161f;background:var(--orange-dim);border-color:#f97316;border-color:var(--orange);color:#f97316;color:var(--orange)}.btn-sick:hover{background:#f9731638}.btn-fta{background:#34d3991f;border-color:#34d399;color:#34d399}.btn-fta:hover{background:#34d39938}.stats-bar{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.stat-chip{align-items:center;background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;font-size:12px;gap:6px;padding:6px 12px}.stat-chip.positive{background:#4ade801f;background:var(--green-dim);border-color:#4ade80;border-color:var(--green);color:#4ade80;color:var(--green)}.stat-chip.negative{background:#f871711f;background:var(--red-dim);border-color:#f87171;border-color:var(--red);color:#f87171;color:var(--red)}.stat-chip.warn{background:#fbbf241f;background:var(--amber-dim);border-color:#fbbf24;border-color:var(--amber);color:#fbbf24;color:var(--amber)}.stat-icon{font-size:14px}.stat-label{color:#4e5668;color:var(--text-muted);font-size:11px}.legend{border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:16px;padding:8px 24px}.legend-item{align-items:center;color:#8890a4;color:var(--text-secondary);display:flex;font-size:11px;gap:5px}.legend-dot{border-radius:2px;flex-shrink:0;height:10px;width:10px}.legend-dot.we{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border)}.cal-scroll{overflow-x:auto;padding:16px 8px}.cal-table{border-collapse:collapse;min-width:900px;-webkit-user-select:none;user-select:none;width:100%}.th-month{background:#0e0f11;background:var(--bg-base);font-size:11px;left:0;letter-spacing:.05em;min-width:48px;padding:4px 8px;position:sticky;text-align:left;width:48px;z-index:2}.th-day,.th-month{color:#4e5668;color:var(--text-muted);font-weight:400}.th-day{font-size:10px;min-width:22px;padding:4px 2px;text-align:center;width:28px}.cal-row:hover .td-month-label{color:#c8a96e;color:var(--accent)}.td-month-label{border-right:1px solid #2a2d35;border-right:1px solid var(--border);color:#8890a4;color:var(--text-secondary);font-size:12px;font-weight:400;left:0;padding:3px 8px;position:sticky;transition:color .15s;white-space:nowrap;z-index:2}.td-empty,.td-month-label{background:#0e0f11;background:var(--bg-base)}.td-empty{border:1px solid #0000}.td-day{border:1px solid #1e2128;border:1px solid var(--border-subtle);cursor:pointer;font-size:10px;height:24px;position:relative;text-align:center;transition:all .1s;vertical-align:middle;width:28px}.td-day:hover{background:#c8a96e14;background:var(--accent-glow);border-color:#c8a96e;border-color:var(--accent);z-index:1}.td-weekend{background:#16181c;background:var(--bg-surface);cursor:pointer;opacity:.6}.td-weekend:hover{background:#ffffff0a;opacity:.85}.td-today{border-color:#c8a96e!important;border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px #c8a96e;box-shadow:inset 0 0 0 1px var(--accent)}.today-dot{background:#c8a96e;background:var(--accent);border-radius:50%;height:4px;position:absolute;right:2px;top:2px;width:4px}.td-work{background:#4ade802e;border-color:#4ade804d}.td-vacation_approved{background:#60a5fa2e;border-color:#60a5fa4d}.td-vacation_pending{background:#fbbf242e;border-color:#fbbf244d}.td-vacation_rejected{background:#f871711f;border-color:#f8717133}.td-fta_approved{background:#34d3992e;border-color:#34d3994d}.td-fta_pending{background:#6ee7b72e;border-color:#6ee7b74d}.td-sick{background:#f973162e;border-color:#f973164d}.td-holiday{background:#a78bfa26;border-color:#a78bfa4d}.td-work_weekend{background:#4ade8024;border-color:#4ade804d;cursor:pointer}.td-work_holiday{background:#4ade801f;border-color:#a78bfa4d}.holiday-mark{color:#a78bfa;color:var(--violet);font-size:8px}.hours-label{color:#4ade80;color:var(--green);font-size:8px;line-height:1}.td-drag-select{background:#60a5fa40!important;border-color:#60a5fa80!important}.td-drag-start{border-left:2px solid #60a5fa!important;border-radius:3px 0 0 3px}.td-drag-end{border-radius:0 3px 3px 0;border-right:2px solid #60a5fa!important}.hours-label-extra{color:#f59e0b}.loading-grid{height:300px}.loading-grid,.login-page{align-items:center;display:flex;justify-content:center}.login-page{background:#0e0f11;background:var(--bg-base);min-height:100vh;overflow:hidden;position:relative}.login-bg{overflow:hidden}.login-bg,.login-grid{inset:0;position:absolute}.login-grid{background-image:linear-gradient(#1e2128 1px,#0000 0),linear-gradient(90deg,#1e2128 1px,#0000 0);background-image:linear-gradient(var(--border-subtle) 1px,#0000 1px),linear-gradient(90deg,var(--border-subtle) 1px,#0000 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 30%,#0000 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000 30%,#0000 100%);opacity:.6}.login-container{padding:0 16px;position:relative;width:380px;z-index:1}.login-logo{gap:14px;margin-bottom:36px}.login-logo,.logo-mark{align-items:center;display:flex}.logo-mark{background:#c8a96e;background:var(--accent);border-radius:8px;color:#0e0f11;color:var(--bg-base);font-family:Fraunces,serif;font-size:24px;font-weight:600;height:44px;justify-content:center;width:44px}.logo-text{display:flex;flex-direction:column}.logo-main{font-family:Fraunces,serif;font-size:20px;font-weight:300}.logo-sub{color:#4e5668;color:var(--text-muted);font-size:11px;letter-spacing:.08em}.login-form{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:18px;padding:28px}.form-header h1{font-family:Fraunces,serif;font-size:22px;font-weight:300}.form-header p{color:#4e5668;color:var(--text-muted);font-size:12px;margin-top:4px}.login-error{background:#f871711f;background:var(--red-dim);border:1px solid #f87171;border:1px solid var(--red);border-radius:6px;border-radius:var(--radius);color:#f87171;color:var(--red);font-size:12px;padding:8px 12px}.btn-login{align-items:center;background:#c8a96e;background:var(--accent);border:none;border-radius:6px;border-radius:var(--radius);color:#0e0f11;color:var(--bg-base);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:13px;font-weight:500;justify-content:center;padding:11px;transition:opacity .15s;width:100%}.btn-login:hover:not(:disabled){opacity:.9}.btn-login:disabled{cursor:not-allowed;opacity:.5}.login-hint{color:#4e5668;color:var(--text-muted);font-size:11px;text-align:center}.login-hint code{color:#c8a96e;color:var(--accent);font-family:DM Mono,monospace}.field-group{display:flex;flex-direction:column;gap:5px}.field-group label{color:#4e5668;color:var(--text-muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.field-group input,.field-group select{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:DM Mono,monospace;font-size:13px;outline:none;padding:8px 10px;transition:border-color .15s;width:100%}.field-group input:focus,.field-group select:focus{border-color:#c8a96e;border-color:var(--accent)}.field-row{display:flex;gap:12px}.field-row .field-group{flex:1 1}.toggle-row{display:flex;gap:6px}.toggle-btn{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:DM Mono,monospace;font-size:12px;padding:7px;transition:all .15s}.toggle-btn.active{background:#c8a96e26;background:var(--accent-dim);border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.calc-hint{color:#4ade80;color:var(--green);font-size:11px;padding:4px 0}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.modal{max-height:90dvh;max-width:480px}.modal,.modal-box{animation:modalIn .15s ease;background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;width:100%}@keyframes modalIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}.modal-day{animation:modalIn .15s ease;background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);display:flex;flex-direction:row;max-height:88vh;max-width:740px;overflow:hidden}.day-panel-left{background:#1e2026;background:var(--bg-raised);border-right:1px solid #2a2d35;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;width:240px}.day-panel-header{align-items:flex-start;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 14px 10px}.day-panel-date{color:#e8eaf0;color:var(--text-primary);font-family:Fraunces,serif;font-size:13px;font-weight:300}.day-panel-total{color:#c8a96e;color:var(--accent);font-size:11px;margin-top:2px}.day-panel-user{border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);padding:8px 12px}.day-panel-user select{background:#0e0f11;background:var(--bg-base);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:inherit;font-size:12px;padding:5px 8px;width:100%}.day-panel-date-change{border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);padding:8px 12px}.day-panel-date-change input[type=date]{background:#0e0f11;background:var(--bg-base);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:inherit;font-size:12px;padding:5px 8px;width:100%}.day-entries-list{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:8px}.day-entries-empty{color:#4e5668;color:var(--text-muted);font-size:12px;padding:24px 8px;text-align:center}.day-entry-item{background:#16181c;background:var(--bg-surface);border:1px solid #1e2128;border:1px solid var(--border-subtle);border-radius:6px;border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:8px 10px;position:relative;transition:border-color .15s,background .15s}.day-entry-item:hover{background:#252830;background:var(--bg-hover);border-color:#2a2d35;border-color:var(--border)}.day-entry-item.selected{background:#c8a96e14;background:var(--accent-glow);border-color:#c8a96e;border-color:var(--accent)}.day-entry-time{color:#e8eaf0;color:var(--text-primary);font-size:12px;font-weight:500;padding-right:20px}.day-entry-task{color:#c8a96e;color:var(--accent);font-size:11px}.day-entry-note{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-entry-delete,.day-entry-note{color:#4e5668;color:var(--text-muted);font-size:11px}.day-entry-delete{background:none;border:none;border-radius:3px;cursor:pointer;opacity:0;padding:2px 4px;position:absolute;right:6px;top:6px;transition:opacity .15s,color .15s}.day-entry-item:hover .day-entry-delete{opacity:1}.day-entry-delete:hover{color:#f87171;color:var(--red)}.day-add-btn{background:#c8a96e26;background:var(--accent-dim);border:1px dashed #c8a96e;border:1px dashed var(--accent);border-radius:6px;border-radius:var(--radius);color:#c8a96e;color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;margin:8px;padding:8px 12px;transition:background .15s}.day-add-btn:hover{background:#c8a96e40}.day-panel-right{min-height:0;overflow-y:auto}.day-panel-placeholder,.day-panel-right{display:flex;flex:1 1;flex-direction:column}.day-panel-placeholder{align-items:center;color:#4e5668;color:var(--text-muted);font-size:13px;justify-content:center}.day-entry-form{display:flex;flex-direction:column;gap:14px;padding:20px}.day-entry-form-title{color:#e8eaf0;color:var(--text-primary);font-family:Fraunces,serif;font-size:15px;font-weight:300;margin-bottom:4px}.day-form-actions{border-top:1px solid #1e2128;border-top:1px solid var(--border-subtle);display:flex;gap:8px;justify-content:flex-end;margin-top:4px;padding-top:4px}@media (max-width:640px){.modal-day{flex-direction:column;max-height:92dvh;max-width:100%}.day-panel-left{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);border-right:none;max-height:42dvh;width:100%}.day-entries-list{max-height:none}}.modal-header{align-items:center;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;padding:0 16px 0 0}.modal-tabs{display:flex;flex:1 1}.modal-tab{background:none;border:none;border-bottom:2px solid #0000;color:#8890a4;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:DM Mono,monospace;font-size:12px;padding:13px 8px;transition:all .15s}.modal-tab:hover{color:#e8eaf0;color:var(--text-primary)}.modal-tab.active{border-bottom-color:#c8a96e;border-bottom-color:var(--accent);color:#c8a96e;color:var(--accent)}.modal-close{background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:8px;transition:color .15s}.modal-close:hover{color:#f87171;color:var(--red)}.modal-body{display:flex;flex:1 1;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:20px}.modal-error{background:#f871711f;background:var(--red-dim);border:1px solid #f87171;border:1px solid var(--red);border-radius:6px;border-radius:var(--radius);color:#f87171;color:var(--red);font-size:12px;padding:8px 12px}.modal-footer{border-top:1px solid #2a2d35;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.btn-primary{align-items:center;background:#c8a96e;background:var(--accent);border:none;border-radius:6px;border-radius:var(--radius);color:#0e0f11;color:var(--bg-base);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:13px;font-weight:500;justify-content:center;padding:9px 20px;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:DM Mono,monospace;font-size:13px;padding:9px 16px;transition:all .15s}.btn-secondary:hover{border-color:#8890a4;border-color:var(--text-secondary);color:#e8eaf0;color:var(--text-primary)}.admin-panel{max-width:100%;padding:24px}.admin-header{align-items:center;display:flex;gap:20px;margin-bottom:20px}.admin-header h2{font-family:Fraunces,serif;font-size:22px;font-weight:300}.flash-msg{animation:fadeIn .2s ease;background:#4ade801f;background:var(--green-dim);border:1px solid #4ade80;border:1px solid var(--green);border-radius:6px;border-radius:var(--radius);color:#4ade80;color:var(--green);font-size:12px;padding:6px 14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-tabs{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;gap:2px;margin-bottom:20px}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:DM Mono,monospace;font-size:13px;padding:10px 16px;transition:all .15s;white-space:nowrap}.admin-tab:hover{color:#e8eaf0;color:var(--text-primary)}.admin-tab.active{border-bottom-color:#c8a96e;border-bottom-color:var(--accent);color:#c8a96e;color:var(--accent)}.admin-section{display:flex;flex-direction:column;gap:20px}.empty-state{border:1px dashed #2a2d35;border:1px dashed var(--border);border-radius:10px;border-radius:var(--radius-lg);color:#4e5668;color:var(--text-muted);font-size:13px;padding:40px;text-align:center}.vacation-card{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);gap:16px;justify-content:space-between;padding:14px 18px}.vacation-card,.vc-info{align-items:center;display:flex;flex-wrap:wrap}.vc-info{gap:12px}.vc-name{color:#e8eaf0;color:var(--text-primary);font-weight:500}.vc-dates{color:#8890a4;color:var(--text-secondary);font-size:12px}.vc-days{background:#60a5fa1f;background:var(--blue-dim);border:1px solid #60a5fa;border:1px solid var(--blue);border-radius:4px;color:#60a5fa;color:var(--blue);font-size:11px;padding:2px 8px}.vc-note{color:#4e5668;color:var(--text-muted);font-size:11px;font-style:italic}.vc-actions{display:flex;gap:8px}.btn-approve{background:#4ade801f;background:var(--green-dim);border:1px solid #4ade80;border:1px solid var(--green);border-radius:6px;border-radius:var(--radius);color:#4ade80;color:var(--green);cursor:pointer;font-family:DM Mono,monospace;font-size:12px;padding:7px 14px;transition:all .15s}.btn-approve:hover{background:#4ade8040}.btn-reject{background:#f871711f;background:var(--red-dim);border:1px solid #f87171;border:1px solid var(--red);border-radius:6px;border-radius:var(--radius);color:#f87171;color:var(--red);cursor:pointer;font-family:DM Mono,monospace;font-size:12px;padding:7px 14px;transition:all .15s}.btn-reject:hover{background:#f8717138}.create-form{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);padding:20px}.create-form h3{color:#8890a4;color:var(--text-secondary);font-size:14px;font-weight:400;margin-bottom:14px}.form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:14px}.form-grid input,.form-grid select{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:DM Mono,monospace;font-size:12px;outline:none;padding:7px 10px;transition:border-color .15s;width:100%}.form-grid input:focus,.form-grid select:focus{border-color:#c8a96e;border-color:var(--accent)}.users-table{overflow-x:auto}.users-table table{border-collapse:collapse;width:100%}.users-table th{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);color:#4e5668;color:var(--text-muted);font-size:11px;letter-spacing:.05em;padding:8px 12px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);font-size:12px;padding:10px 12px}.users-table tr:hover td{background:#1e2026;background:var(--bg-raised)}.row-inactive td{opacity:.45}.project-badge,.role-badge{border-radius:4px;font-size:11px;padding:2px 8px}.project-badge{background:#a78bfa1f;background:var(--violet-dim);border:1px solid #a78bfa;border:1px solid var(--violet);color:#a78bfa;color:var(--violet);display:inline-block;white-space:nowrap}.task-project-hint{align-items:center;color:#4e5668;color:var(--text-muted);display:flex;font-size:11px;gap:6px;margin-top:5px}.role-badge.role-superadmin{background:#a78bfa1f;background:var(--violet-dim);border:1px solid #a78bfa;border:1px solid var(--violet);color:#a78bfa;color:var(--violet)}.role-badge.role-admin{background:#fbbf241f;background:var(--amber-dim);border:1px solid #fbbf24;border:1px solid var(--amber);color:#fbbf24;color:var(--amber)}.role-badge.role-manager{background:#60a5fa1f;background:var(--blue-dim);border:1px solid #60a5fa;border:1px solid var(--blue);color:#60a5fa;color:var(--blue)}.role-badge.role-employee{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);color:#8890a4;color:var(--text-secondary)}.btn-toggle{border-radius:4px;font-family:DM Mono,monospace;font-size:11px;padding:3px 10px}.btn-toggle.active{background:#4ade801f;background:var(--green-dim);border:1px solid #4ade80;border:1px solid var(--green);color:#4ade80;color:var(--green)}.btn-toggle.inactive{background:#f871711f;background:var(--red-dim);border:1px solid #f87171;border:1px solid var(--red);color:#f87171;color:var(--red)}.companies-list{display:flex;flex-direction:column;gap:8px}.company-card{align-items:center;background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;justify-content:space-between;padding:12px 16px}.company-slug{color:#4e5668;color:var(--text-muted);font-size:12px;margin-left:8px}.company-meta{color:#8890a4;color:var(--text-secondary);display:flex;font-size:12px;gap:12px}.spinner{border:2px solid #2a2d35;border-top-color:#c8a96e;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:28px;width:28px}.spinner,.spinner-sm{animation:spin .7s linear infinite}.spinner-sm{border:2px solid #0003;border-radius:50%;border-top:2px solid var(--bg-base);display:inline-block;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0e0f11;background:var(--bg-base)}::-webkit-scrollbar-thumb{background:#2a2d35;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4e5668;background:var(--text-muted)}@media (max-width:900px){.admin-panel,.reports-page{max-width:100%;padding:16px}.entries-header,.overview-header{padding:12px 16px 10px}.stats-bar{gap:8px}.stat-chip{padding:5px 10px}}@media (max-width:640px){.app-root{flex-direction:column;height:100dvh}.main-content{flex:1 1;min-height:0;order:1;overflow-x:hidden;overflow-y:auto}.sidebar{border-right:none;border-top:1px solid #2a2d35;border-top:1px solid var(--border);flex-direction:row;flex-shrink:0;height:auto;order:2;padding-bottom:env(safe-area-inset-bottom,0);width:100%}.sidebar-logo{display:none}.sidebar-nav{flex:1 1;flex-direction:row;gap:0;padding:4px 6px}.nav-item{align-items:center;flex:1 1;flex-direction:column;font-size:10px;gap:2px;justify-content:center;letter-spacing:0;padding:7px 4px}.nav-icon{font-size:18px;width:auto}.sidebar-user{align-items:center;border-left:1px solid #2a2d35;border-left:1px solid var(--border);border-top:none;flex-shrink:0;gap:6px;justify-content:center;padding:8px 12px}.sidebar-user-main{display:none}.sidebar-user-actions{flex-direction:row;gap:4px}.logout-btn{font-size:18px;padding:6px}.modal-overlay{align-items:flex-end;padding:0}.modal{animation:modalUp .2s ease;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:90dvh;max-width:100%}.modal-body{-webkit-overflow-scrolling:touch;overflow-y:auto}@keyframes modalUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.admin-panel{padding:12px}.admin-header{margin-bottom:12px}.admin-header h2{font-size:18px}.admin-tabs{-webkit-overflow-scrolling:touch;gap:0;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{font-size:12px;padding:9px 12px;white-space:nowrap}.create-form{padding:14px}.form-grid,.form-grid-2{grid-template-columns:1fr}.vacation-card{align-items:flex-start;flex-direction:column;gap:10px}.vc-actions{justify-content:flex-end;width:100%}.users-table td:nth-child(4),.users-table td:nth-child(6),.users-table td:nth-child(7),.users-table th:nth-child(4),.users-table th:nth-child(6),.users-table th:nth-child(7){display:none}.reports-page{padding:12px}.reports-header{margin-bottom:12px}.reports-header h2{font-size:18px}.reports-filters{gap:8px;padding:12px}.reports-filters .field-group{flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;min-width:0}.reports-filters .field-group--action{flex:1 1 100%}.reports-filters .field-group--action button{width:100%}.reports-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.reports-export-btns{justify-content:flex-end;width:100%}.btn-export{flex:1 1;text-align:center}.overview-header{padding:10px 12px 8px}.overview-title-row{gap:8px}.year-label{font-size:18px;min-width:56px}.user-select{flex:1 1;max-width:100%}.action-buttons{margin-left:0;width:100%}.btn-action{flex:1 1;font-size:11px;padding:6px 8px;text-align:center}.stats-bar{gap:6px;margin-top:8px}.stat-chip{font-size:11px;padding:5px 10px}.stat-icon{font-size:12px}.entries-header{padding:10px 12px 8px}.entries-title-row{gap:8px}.company-card{align-items:flex-start;flex-direction:column;gap:8px}.company-meta{justify-content:space-between;width:100%}.system-card{max-width:100%}}.workdays-picker{display:flex;flex-wrap:wrap;gap:4px}.wd-btn{align-items:center;background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:11px;font-weight:500;height:32px;justify-content:center;transition:all .15s;width:36px}.wd-btn:hover{border-color:#8890a4;border-color:var(--text-secondary);color:#e8eaf0;color:var(--text-primary)}.wd-btn.active{background:#c8a96e26;background:var(--accent-dim);border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.workdays-hint{color:#4e5668;color:var(--text-muted);font-size:11px;line-height:1.4;margin-top:6px}.workdays-display{color:#8890a4;color:var(--text-secondary);font-size:11px}.form-grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}@media (max-width:520px){.form-grid-2{grid-template-columns:1fr}}.btn-edit{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:4px 6px;transition:background .15s}.btn-edit:hover{background:#252830;background:var(--bg-hover)}.td-offday{background:repeating-linear-gradient(45deg,#0000,#0000 3px,hsla(0,0%,100%,.025) 0,hsla(0,0%,100%,.025) 6px);cursor:default;opacity:.6}.legend-dot.offday{background:repeating-linear-gradient(45deg,#1e2026,#1e2026 2px,#2a2d35 0,#2a2d35 4px);background:repeating-linear-gradient(45deg,var(--bg-raised),var(--bg-raised) 2px,var(--border) 2px,var(--border) 4px);border:1px solid #2a2d35;border:1px solid var(--border)}.workdays-info-bar{align-items:center;display:flex;font-size:11px;gap:8px;margin-top:8px}.workdays-info-label{color:#4e5668;color:var(--text-muted)}.workdays-info-value{color:#c8a96e;color:var(--accent);font-weight:500}.workdays-info-user{color:#4e5668;color:var(--text-muted)}.entries-page{padding:0}.entries-header{background:#0e0f11;background:var(--bg-base);border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px;padding:16px 24px 12px;position:sticky;top:0;z-index:10}.entries-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.entries-filter{display:flex;flex-wrap:wrap;gap:6px}.filter-btn{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:DM Mono,monospace;font-size:12px;padding:5px 14px;transition:all .15s}.filter-btn:hover{border-color:#8890a4;border-color:var(--text-secondary);color:#e8eaf0;color:var(--text-primary)}.filter-btn.active{background:#c8a96e26;background:var(--accent-dim);border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.entries-list{display:flex;flex-direction:column;gap:6px;padding:16px 24px}.entry-row{align-items:center;background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:12px;padding:10px 14px;transition:border-color .15s}.entry-row:hover{background:#1e2026;background:var(--bg-raised);border-color:#252830;border-color:var(--bg-hover)}.entry-row-work{border-left:3px solid #4ade80;border-left:3px solid var(--green)}.entry-row-vacation{border-left:3px solid #60a5fa;border-left:3px solid var(--blue)}.entry-row-freizeitausgleich{border-left:3px solid #34d399}.entry-row-sick{border-left:3px solid #f97316;border-left:3px solid var(--orange)}.entry-badge{border-radius:4px;flex-shrink:0;font-size:11px;letter-spacing:.02em;padding:2px 8px}.badge-work{background:#4ade801f;background:var(--green-dim);border:1px solid #4ade804d;color:#4ade80;color:var(--green)}.badge-vacation{background:#60a5fa1f;background:var(--blue-dim);border:1px solid #60a5fa4d;color:#60a5fa;color:var(--blue)}.badge-freizeitausgleich{background:#34d3991f;border:1px solid #34d3994d;color:#34d399}.badge-sick{background:#f973161f;background:var(--orange-dim);border:1px solid #f973164d;color:#f97316;color:var(--orange)}.entry-date{color:#e8eaf0;color:var(--text-primary);font-size:12px;min-width:100px}.entry-detail{color:#8890a4;color:var(--text-secondary);flex:1 1;font-size:12px}.entry-times{color:#4e5668;color:var(--text-muted)}.entry-task{color:#c8a96e;color:var(--accent)}.entry-note{color:#4e5668;color:var(--text-muted);font-style:italic}.entry-note,.entry-status{font-size:11px}.status-approved{color:#4ade80;color:var(--green)}.status-pending{color:#fbbf24;color:var(--amber)}.status-rejected{color:#f87171;color:var(--red)}.entry-actions{display:flex;gap:4px;margin-left:auto}.btn-delete{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;opacity:.6;padding:4px 6px;transition:background .15s}.btn-delete:hover{background:#f871711f;background:var(--red-dim);opacity:1}.vc-page{height:100%;overflow:hidden}.vc-page,.vc-toolbar{display:flex;flex-direction:column}.vc-toolbar{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px;padding:20px 24px 14px}.vc-controls{align-items:flex-end;gap:12px}.vc-controls,.vc-legend{display:flex;flex-wrap:wrap}.vc-legend{align-items:center;gap:14px}.vc-leg{align-items:center;color:#8890a4;color:var(--text-secondary);display:flex;font-size:11px;gap:6px}.vc-leg:before{border-radius:3px;content:"";display:inline-block;height:14px;width:14px}.vc-leg-vac-ok:before{background:#22c55e}.vc-leg-vac-pending:before{background:#f97316}.vc-leg-sick:before{background:#ef4444}.vc-leg-holiday:before{background:#252830;background:var(--bg-hover);border:1px solid #2a2d35;border:1px solid var(--border)}.vc-leg-weekend:before{background:#16181c;background:var(--bg-surface);border:1px solid #1e2128;border:1px solid var(--border-subtle)}.vc-scroll{flex:1 1;overflow:auto}.vc-table{border-collapse:collapse;table-layout:fixed}.vc-name-td,.vc-name-th{background:#0e0f11;background:var(--bg-base);border-right:1px solid #2a2d35;border-right:1px solid var(--border);font-size:12px;left:0;max-width:160px;min-width:160px;overflow:hidden;padding:0 10px;position:sticky;text-overflow:ellipsis;white-space:nowrap;width:160px;z-index:2}.vc-name-th{background:#16181c;background:var(--bg-surface);z-index:3}.vc-month-th{border-right:1px solid #2a2d35;border-right:1px solid var(--border);color:#8890a4;color:var(--text-secondary);font-size:11px;font-weight:500;padding:5px 0;top:0}.vc-day-th,.vc-month-th{background:#16181c;background:var(--bg-surface);border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);position:sticky;text-align:center;z-index:1}.vc-day-th{color:#4e5668;color:var(--text-muted);font-size:9px;max-width:22px;min-width:22px;padding:3px 0;top:27px;width:22px}.vc-day-th.vc-weekend{color:#2a2d35;color:var(--border)}.vc-day-th.vc-holiday{color:#c8a96e;color:var(--accent)}.vc-row:hover .vc-name-td{background:#252830;background:var(--bg-hover)}.vc-row:hover .vc-cell{filter:brightness(1.1)}.vc-name-td{color:#e8eaf0;color:var(--text-primary);height:28px;line-height:28px}.vc-cell{height:28px;width:22px}.vc-cell.vc-vac-ok{background:#22c55ebf}.vc-cell.vc-vac-pending{background:#f97316bf}.vc-cell.vc-sick{background:#ef4444bf}.vc-cell.vc-holiday{background:#252830;background:var(--bg-hover)}.vc-cell.vc-weekend{background:#16181c;background:var(--bg-surface)}.vc-cell.vc-today-col{outline:2px solid #c8a96e;outline:2px solid var(--accent);outline-offset:-2px}.vc-day-th.vc-today-col{color:#c8a96e;color:var(--accent);font-weight:600}.reports-page{max-width:960px;padding:24px}.reports-header{margin-bottom:20px}.reports-header h2{color:#e8eaf0;color:var(--text-primary);font-family:Fraunces,serif;font-size:22px;font-weight:300}.reports-filters{align-items:flex-end;background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px 20px}.reports-filters .field-group{flex:1 1;min-width:130px}.reports-filters .field-group--action{flex:0 0 auto;min-width:0;min-width:auto}.reports-filters .field-group input,.reports-filters .field-group select{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:inherit;font-size:13px;padding:7px 10px;width:100%}.reports-filters .field-group input:focus,.reports-filters .field-group select:focus{border-color:#c8a96e;border-color:var(--accent);outline:none}.reports-msg{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);font-size:13px;margin-bottom:16px;padding:10px 14px}.reports-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reports-summary{color:#8890a4;color:var(--text-secondary);font-size:13px}.reports-summary strong{color:#c8a96e;color:var(--accent)}.reports-export-btns{display:flex;gap:8px}.btn-export{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;padding:5px 14px;transition:border-color .15s,color .15s}.btn-export:hover{border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.reports-total-row td{background:#1e2026!important;background:var(--bg-raised)!important;border-top:1px solid #2a2d35;border-top:1px solid var(--border);color:#e8eaf0;color:var(--text-primary)}.system-card{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);max-width:520px;padding:24px}.system-card-title{font-family:Fraunces,serif;font-size:16px;font-weight:300;margin-bottom:8px}.system-card-desc{font-size:12px;line-height:1.6;margin-bottom:18px}.system-card-desc,.update-status{color:#8890a4;color:var(--text-secondary)}.update-status{align-items:center;display:flex;font-size:13px;gap:10px;padding:10px 0}.update-status--waiting{color:#fbbf24;color:var(--amber)}.update-status--done{color:#4ade80;color:var(--green)}.update-status--error{align-items:flex-start;color:#f87171;color:var(--red);flex-direction:column}.update-spinner{animation:spin .7s linear infinite;border:2px solid #2a2d35;border-top-color:#c8a96e;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);flex-shrink:0;height:16px;width:16px}.update-log{background:#0e0f11;background:var(--bg-base);border:1px solid #1e2128;border:1px solid var(--border-subtle);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);font-size:11px;margin-top:14px;max-height:200px;overflow-y:auto;padding:12px 14px;white-space:pre-wrap;word-break:break-all}.kanban-root{display:flex;flex-direction:column;height:100%;overflow:hidden}.kanban-topbar{align-items:center;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;padding:20px 28px 12px}.kanban-title{color:#e8eaf0;color:var(--text-primary);flex-shrink:0;font-family:Fraunces,serif;font-size:20px;font-weight:300}.kanban-breadcrumb{align-items:center;border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);color:#8890a4;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:12px;gap:0;padding:8px 28px}.kanban-crumb{background:none;border:none;color:#c8a96e;color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;padding:0}.kanban-crumb:hover{text-decoration:underline}.kanban-crumb-sep{color:#4e5668;color:var(--text-muted)}.kanban-empty{align-items:center;display:flex;flex:1 1;justify-content:center}.kanban-board{align-items:flex-start;display:flex;flex:1 1;gap:16px;overflow-x:auto;overflow-y:hidden;padding:16px 28px 24px}.kanban-column{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:100%;min-width:280px;width:280px}.kanban-column-header{align-items:center;border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 14px 10px}.kanban-column-title{color:#8890a4;color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.kanban-column-count{background:#1e2026;background:var(--bg-raised);border-radius:99px;color:#4e5668;color:var(--text-muted);font-size:11px;padding:1px 7px}.kanban-column-body{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:60px;overflow-y:auto;padding:10px}.kanban-card{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);padding:10px 12px;-webkit-user-select:none;user-select:none}.kanban-card:hover{border-color:#1e2128;border-color:var(--border-subtle);box-shadow:0 2px 8px #0003}.kanban-card-header{align-items:flex-start;display:flex;gap:6px}.kanban-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#e8eaf0;color:var(--text-primary);display:-webkit-box;flex:1 1;font-size:13px;font-weight:400;line-height:1.4;overflow:hidden}.kanban-card-actions{display:flex;flex-shrink:0;gap:2px;opacity:0;transition:opacity .15s}.kanban-card:hover .kanban-card-actions{opacity:1}.kanban-btn{background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px 5px}.kanban-btn:hover{background:#252830;background:var(--bg-hover);color:#e8eaf0;color:var(--text-primary)}.kanban-btn-delete:hover{color:#f87171;color:var(--red)}.kanban-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4e5668;color:var(--text-muted);display:-webkit-box;font-size:11px;line-height:1.4;margin-top:5px;overflow:hidden}.kanban-card-footer{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.kanban-due{color:#4e5668;color:var(--text-muted);font-size:10px}.kanban-subtask-badge{background:none;border:1px solid #2a2d35;border:1px solid var(--border);border-radius:4px;color:#8890a4;color:var(--text-secondary);cursor:pointer;font-size:10px;padding:1px 6px}.kanban-subtask-badge:hover{border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.kanban-time-badge{font-size:10px}.kanban-add-btn,.kanban-time-badge{color:#4e5668;color:var(--text-muted)}.kanban-add-btn{background:none;border:none;border-top:1px solid #1e2128;border-top:1px solid var(--border-subtle);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12px;padding:10px 14px;text-align:left;width:100%}.kanban-add-btn:hover{color:#c8a96e;color:var(--accent)}.kanban-add-form{border-top:1px solid #1e2128;border-top:1px solid var(--border-subtle);flex-shrink:0;padding:10px}.kanban-add-input{background:#0e0f11;background:var(--bg-base);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;padding:6px 10px;width:100%}.kanban-add-input:focus{border-color:#c8a96e;border-color:var(--accent)}.kanban-add-actions{display:flex;gap:6px;margin-top:8px}.view-toggle{border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.view-toggle-btn{background:none;border:none;color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;padding:5px 14px;transition:background .1s}.view-toggle-btn.active{background:#c8a96e26;background:var(--accent-dim);color:#c8a96e;color:var(--accent);font-weight:500}.view-toggle-btn:hover:not(.active){background:#252830;background:var(--bg-hover)}.my-tasks-toggle{background:none;border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;padding:5px 14px;transition:background .1s,color .1s,border-color .1s}.my-tasks-toggle:hover{background:#252830;background:var(--bg-hover)}.my-tasks-toggle--active{border-color:#c8a96e;border-color:var(--accent)}.kanban-card-project,.my-tasks-toggle--active{background:#c8a96e26;background:var(--accent-dim);color:#c8a96e;color:var(--accent);font-weight:500}.kanban-card-project{border-radius:3px;display:inline-block;font-size:10px;margin-bottom:5px;max-width:100%;overflow:hidden;padding:1px 6px;text-overflow:ellipsis;white-space:nowrap}.column-config-popover{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000004d;min-width:160px;padding:10px 14px;position:absolute;right:0;top:calc(100% + 6px);z-index:100}.column-config-item{align-items:center;color:#e8eaf0;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:5px 0;-webkit-user-select:none;user-select:none}.column-config-item input{cursor:pointer}.list-view-container{overflow-x:auto;padding:0 28px 40px}.list-view-table{border-collapse:collapse;font-size:13px;width:100%}.list-view-table th{background:#16181c;background:var(--bg-surface);border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);color:#8890a4;color:var(--text-secondary);font-size:11px;font-weight:500;letter-spacing:.06em;padding:8px 12px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.list-th-sort{cursor:pointer;transition:color .12s,background .12s;-webkit-user-select:none;user-select:none}.list-th-sort:hover{background:#252830;background:var(--bg-hover);color:#e8eaf0;color:var(--text-primary)}.list-th-active{color:#c8a96e!important;color:var(--accent)!important}.list-sort-arrow,.list-th-label{vertical-align:middle}.list-sort-arrow{color:#4e5668;color:var(--text-muted);font-size:9px;margin-left:5px;opacity:.6}.list-th-active .list-sort-arrow{color:#c8a96e;color:var(--accent);opacity:1}.list-filter-row td{background:#16181c;background:var(--bg-surface);border-bottom:2px solid #2a2d35;border-bottom:2px solid var(--border);padding:4px 6px 6px;position:sticky;top:33px;z-index:1}.list-filter-input,.list-filter-select{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:5px;box-sizing:border-box;color:#e8eaf0;color:var(--text-primary);font-size:11px;outline:none;padding:3px 7px;width:100%}.list-filter-input::placeholder{color:#4e5668;color:var(--text-muted)}.list-filter-input:focus,.list-filter-select:focus{border-color:#c8a96e;border-color:var(--accent)}.list-filter-clear{background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;font-size:13px;padding:2px 4px;transition:color .1s}.list-filter-clear:hover{color:#f87171;color:var(--red)}.cbf-wrap{position:relative}.cbf-trigger{align-items:center;background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:5px;box-sizing:border-box;color:#e8eaf0;color:var(--text-primary);cursor:pointer;display:flex;font-size:11px;gap:4px;justify-content:space-between;outline:none;padding:3px 7px;transition:border-color .12s;width:100%}.cbf-active,.cbf-open,.cbf-trigger:hover{border-color:#c8a96e;border-color:var(--accent)}.cbf-active{color:#c8a96e;color:var(--accent)}.cbf-arrow{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:9px}.cbf-dropdown{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:7px;box-shadow:0 6px 20px #0000004d;left:0;min-width:140px;padding:4px 0;position:absolute;top:calc(100% + 3px);z-index:200}.cbf-item{align-items:center;color:#e8eaf0;color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;gap:8px;padding:5px 12px;transition:background .1s;-webkit-user-select:none;user-select:none}.cbf-item:hover{background:#252830;background:var(--bg-hover)}.cbf-item input[type=checkbox]{accent-color:#c8a96e;accent-color:var(--accent);cursor:pointer;margin:0}.cbf-item--all{font-weight:600}.cbf-divider{background:#2a2d35;background:var(--border);height:1px;margin:3px 0}.list-view-table td{border-bottom:1px solid #1e2128;border-bottom:1px solid var(--border-subtle);padding:7px 12px;vertical-align:middle}.list-row:hover td{background:#252830;background:var(--bg-hover)}.list-name-cell{min-width:280px}.list-task-name{color:#e8eaf0;color:var(--text-primary);font-size:13px}.expand-toggle{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:9px;min-width:16px;text-align:center}.list-project-badge{background:#c8a96e26;background:var(--accent-dim);border:1px solid #c8a96e40;border-radius:4px;color:#c8a96e;color:var(--accent);display:inline-block;font-size:10px;font-weight:500;margin-right:6px;padding:1px 7px;vertical-align:middle;white-space:nowrap}.list-project-group-row{cursor:pointer}.list-project-group-row:hover td{background:#252830;background:var(--bg-hover)}.list-project-group-cell{background:#0e0f11;background:var(--bg-base);border-bottom:1px solid #2a2d35!important;border-bottom:1px solid var(--border)!important;color:#8890a4;color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.05em;padding:6px 12px!important;position:sticky;text-transform:uppercase;top:0;z-index:1}.list-project-group-chevron{color:#4e5668;color:var(--text-muted);font-size:9px;margin-right:8px}.list-project-group-count{background:#252830;background:var(--bg-hover);border-radius:10px;color:#4e5668;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:0;margin-left:8px;padding:1px 5px;vertical-align:middle}.status-pill{border-radius:99px;display:inline-block;font-size:11px;font-weight:500;padding:2px 10px;white-space:nowrap}.status-dropdown{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000040;left:0;min-width:120px;overflow:hidden;position:absolute;top:100%;z-index:50}.status-dropdown-item{cursor:pointer;font-size:12px;padding:7px 12px}.status-dropdown-item:hover{background:#252830;background:var(--bg-hover)}.dashboard-root{display:flex;flex-direction:column;height:100%;overflow:hidden}.dashboard-topbar{align-items:center;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:12px;padding:12px 20px}.dashboard-title{flex:1 1;font-size:18px;font-weight:600;margin:0}.dashboard-panels{display:flex;flex-shrink:0;gap:16px;padding:16px 20px 0}.dashboard-panel{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;flex:1 1;max-height:220px;min-width:0;overflow-y:auto;padding:14px}.admin-todos-panel{flex:1.5 1}.panel-header{color:#e8eaf0;color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:10px}.panel-empty{color:#4e5668;color:var(--text-muted);font-size:12px;padding:16px 0;text-align:center}.milestone-item{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);padding:7px 0}.milestone-item:last-child{border-bottom:none}.milestone-name{font-size:13px;font-weight:500}.milestone-meta{color:#4e5668;color:var(--text-muted);display:flex;font-size:11px;justify-content:space-between;margin-top:2px}.milestone-date.overdue{color:#f87171;color:var(--red,#e25252)}.todo-section{margin-bottom:10px}.todo-section-title{color:#4e5668;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.todo-item{font-size:12px;justify-content:space-between;padding:4px 0}.todo-meta{color:#4e5668;color:var(--text-muted);font-size:11px}.todo-meta.overdue{color:#f87171;color:var(--red,#e25252)}.btn-xs{border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;padding:2px 8px}.btn-success{background:#4ade80;background:var(--green,#4ade80);color:#fff}.btn-danger{background:#f87171;background:var(--red,#e25252);color:#fff}.timeclock-wrap{display:inline-flex;position:relative}.timeclock-trigger{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeclock-trigger--running{background:#c8a96e26!important;background:var(--accent-dim)!important;border-color:#c8a96e!important;border-color:var(--accent)!important;color:#c8a96e!important;color:var(--accent)!important;font-weight:600}.timeclock-popover{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);box-shadow:0 8px 28px #0000005c;min-width:300px;padding:12px 14px;position:absolute;right:0;top:calc(100% + 6px);z-index:300}.timeclock-popover-stopped{align-items:center;display:flex;gap:10px}.timeclock-popover-running{display:flex;flex-direction:column;gap:10px}.timeclock-running-info{align-items:center;display:flex;gap:10px}.timeclock-selector{position:relative}.timeclock-select-btn{align-items:center;background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:13px;gap:6px;max-width:300px;padding:5px 12px;transition:border-color .15s}.timeclock-select-btn:hover{border-color:#c8a96e;border-color:var(--accent)}.timeclock-select-label{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeclock-chevron{color:#4e5668;color:var(--text-muted);flex-shrink:0}.timeclock-dropdown{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000052;left:0;max-width:360px;min-width:280px;padding:8px;position:absolute;top:calc(100% + 4px);z-index:200}.timeclock-search{margin-bottom:6px;width:100%}.timeclock-options{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.timeclock-empty{color:#4e5668;color:var(--text-muted);font-size:12px;padding:12px 0;text-align:center}.timeclock-option{align-items:baseline;background:none;border:none;border-radius:6px;border-radius:var(--radius);color:#e8eaf0;color:var(--text-primary);cursor:pointer;display:flex;font-family:DM Mono,monospace;font-size:13px;gap:8px;padding:7px 8px;text-align:left;transition:background .1s;width:100%}.timeclock-option:hover{background:#252830;background:var(--bg-hover)}.timeclock-option-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeclock-option-project{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:11px}.timeclock-running-task{color:#c8a96e;color:var(--accent);font-size:13px;font-weight:600;max-width:220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeclock-elapsed{font-feature-settings:"tnum";color:#e8eaf0;color:var(--text-primary);flex-shrink:0;font-size:14px;font-variant-numeric:tabular-nums;font-weight:500;min-width:36px}.timeclock-btns{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.day-planner-section{display:flex;flex:1 1;flex-direction:column;gap:0;min-height:0;overflow:hidden;padding:12px 20px 16px}.day-planner-action-bar{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:8px}.day-planner-action-bar-title{color:#4e5668;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.day-planner-columns-wrap{display:flex;flex:1 1;gap:12px;min-height:0;overflow:hidden}.btn-toggle{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);color:#8890a4;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;padding:5px 14px;transition:all .15s}.btn-toggle:hover{color:#e8eaf0;color:var(--text-primary)}.btn-toggle.active,.btn-toggle:hover{border-color:#c8a96e;border-color:var(--accent)}.btn-toggle.active{background:#c8a96e26;background:var(--accent-dim,#c8a96e26);color:#c8a96e;color:var(--accent);font-weight:600}.day-column--off .day-column-body{background:hsla(0,0%,100%,.015)}.day-column-header--weekend{color:#60a5fa!important;color:var(--blue,#60a5fa)!important}.day-column-header--holiday{color:#fbbf24!important;color:var(--amber,#fbbf24)!important}.day-column-header-badge{background:#fbbf241f;background:var(--amber-dim,#fbbf2426);border:1px solid #fbbf24;border:1px solid var(--amber,#fbbf24);border-radius:3px;color:#fbbf24;color:var(--amber,#fbbf24);display:inline-block;font-size:9px;font-weight:700;letter-spacing:.03em;margin-left:6px;padding:1px 5px;vertical-align:middle}.day-column-header-badge--we{background:#60a5fa1f;background:var(--blue-dim,#60a5fa26);border-color:#60a5fa;border-color:var(--blue,#60a5fa);color:#60a5fa;color:var(--blue,#60a5fa)}.day-planner-columns{display:flex;flex:1 1;gap:12px;overflow-x:auto}.day-column{display:flex;flex:1 1;flex-direction:column;min-width:180px}.day-column-header{border-bottom:2px solid #2a2d35;border-bottom:2px solid var(--border);color:#8890a4;color:var(--text-secondary);flex-shrink:0;font-size:12px;font-weight:600;padding:6px 0}.day-column-body{background:#1e2026;background:var(--bg-raised,#ffffff08);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:8px;flex:1 1;overflow:hidden;position:relative}.day-hour-line{border-top:1px solid #2a2d35;border-top:1px solid var(--border);left:0;position:absolute;right:0}.day-hour-label{color:#4e5668;color:var(--text-muted);font-size:9px;line-height:1;padding-left:4px}.day-block{border-radius:5px;font-size:11px;left:32px;overflow:hidden;padding:3px 6px;position:absolute;right:4px;transition:opacity .1s}.day-block-task{background:#c8a96e26;background:var(--accent-dim);border-left:3px solid #c8a96e;border-left:3px solid var(--accent);color:#c8a96e;color:var(--accent);cursor:pointer}.day-block-done{background:#ffffff0a!important;border-left-color:#4e5668!important;border-left-color:var(--text-muted)!important;color:#4e5668!important;color:var(--text-muted)!important;opacity:.45}.day-block-done .day-block-title{text-decoration:line-through}.day-block-multi{background:#60a5fa1a!important;border-left:3px dashed #c8a96e!important;border-left:3px dashed var(--accent)!important;color:#60a5fa!important}.day-block-multi:after{content:"⊕";font-size:9px;opacity:.7;position:absolute;right:4px;top:2px}.day-block-task:hover{opacity:.85}.day-block-calendar{background:#9333ea1f;border-left:3px solid #9333ea;color:#9333ea;cursor:default}.day-block-conflict{background:#e252521f!important;border-color:#f87171!important;border-color:var(--red,#e25252)!important;color:#f87171!important;color:var(--red,#e25252)!important}.day-block-title{font-weight:500}.day-block-project,.day-block-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-block-project{font-size:10px;opacity:.75}.day-block-duration{font-size:10px;opacity:.7}.day-block-conflict-badge{font-size:10px;position:absolute;right:4px;top:2px}.day-block-status-menu{align-items:center;background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 16px #0006;display:flex;gap:4px;padding:4px 6px;pointer-events:all;position:absolute;right:0;top:0;z-index:200}.day-block-status-dot{border:none;border-radius:50%;cursor:pointer;flex-shrink:0;height:14px;padding:0;transition:transform .12s;width:14px}.day-block-status-dot:hover{transform:scale(1.3)}.day-block-status-dot--active{outline:2px solid #fff;outline-offset:1px}.parking-lot{display:flex;flex-direction:column;flex-shrink:0;width:210px}.parking-lot-header{border-bottom:2px solid #2a2d35;border-bottom:2px solid var(--border);color:#8890a4;color:var(--text-secondary);flex-shrink:0;font-size:12px;font-weight:600;padding:6px 0}.parking-lot-body{background:#1e2026;background:var(--bg-raised,#ffffff08);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:8px;flex:1 1;overflow-x:hidden;overflow-y:auto}.parking-project-header{align-items:center;background:#0e0f11;background:var(--bg-base);border:none;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);color:#8890a4;color:var(--text-secondary);cursor:pointer;display:flex;font-size:10px;font-weight:700;gap:5px;letter-spacing:.05em;padding:5px 8px;position:sticky;text-align:left;text-transform:uppercase;top:0;transition:background .1s,color .1s;width:100%;z-index:1}.parking-project-header:hover{background:#252830;background:var(--bg-hover);color:#e8eaf0;color:var(--text-primary)}.parking-project-chevron{flex-shrink:0;font-size:10px;width:10px}.parking-project-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-project-count{background:#252830;background:var(--bg-hover);border-radius:10px;color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:0;padding:1px 5px}.parking-item{align-items:flex-start;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:7px 8px 7px 16px}.parking-item:hover{background:#252830;background:var(--bg-hover)}.parking-item:last-child{border-bottom:none}.parking-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-due{color:#8890a4;color:var(--text-secondary);flex-shrink:0;font-size:10px;white-space:nowrap}.parking-due.overdue{color:#f87171;color:var(--red,#e25252)}.assignee-trigger{align-items:center;background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;color:#8890a4;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:6px 10px;text-align:left;transition:border-color .15s;width:100%}.assignee-trigger:hover{border-color:#4e5668;border-color:var(--text-muted)}.assignee-trigger-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-dropdown{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000073;overflow:hidden}.assignee-list{max-height:40vh}.assignee-search-wrap{border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);padding:8px 10px}.assignee-search{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:#e8eaf0;color:var(--text-primary);font-size:12px;outline:none;padding:5px 8px;width:100%}.assignee-search:focus{border-color:#c8a96e;border-color:var(--accent)}.assignee-list{overflow-y:auto}.assignee-empty{color:#4e5668;color:var(--text-muted);font-size:12px;padding:12px;text-align:center}.assignee-option{align-items:center;color:#e8eaf0;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 12px;transition:background .1s;-webkit-user-select:none;user-select:none}.assignee-option:hover{background:#252830;background:var(--bg-hover)}.assignee-option.selected{background:#c8a96e26;background:var(--accent-dim);color:#c8a96e;color:var(--accent)}.assignee-option.selected:hover{background:#c8a96e26;background:var(--accent-dim);filter:brightness(.95)}.assignee-checkbox{align-items:center;background:#0000;border:1.5px solid #2a2d35;border:1.5px solid var(--border);border-radius:3px;color:#fff;display:flex;flex-shrink:0;font-size:10px;height:16px;justify-content:center;width:16px}.assignee-checkbox.checked{background:#c8a96e;background:var(--accent);border-color:#c8a96e;border-color:var(--accent)}.drawer-backdrop{animation:fadeIn .15s ease;background:#00000059;inset:0;position:fixed;z-index:1200}.task-drawer{animation:slideInRight .2s ease;background:#16181c;background:var(--bg-surface);border-left:1px solid #2a2d35;border-left:1px solid var(--border);bottom:0;box-shadow:-4px 0 32px #00000040;display:flex;flex-direction:column;overflow:hidden;position:fixed;right:0;top:0;width:min(860px,92vw);z-index:1201}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{align-items:flex-start;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:12px;padding:16px 20px}.drawer-close{background:none;border:none;border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:2px 6px;transition:background .1s}.drawer-close:hover{background:#252830;background:var(--bg-hover);color:#e8eaf0;color:var(--text-primary)}.drawer-title{flex:1 1;min-width:0}.drawer-title h2{color:#e8eaf0;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0;word-break:break-word}.drawer-title h2.editable-title{cursor:pointer}.drawer-title h2.editable-title:hover{color:#c8a96e;color:var(--accent)}.drawer-name-input{background:#1e2026;background:var(--bg-raised);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:4px;color:#e8eaf0;color:var(--text-primary);font-size:1.1rem;font-weight:600;outline:none;padding:4px 8px;width:100%}.drawer-body{display:flex;flex:1 1;min-height:0}.drawer-left{border-right:1px solid #2a2d35;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:16px;overflow-y:auto;padding:16px;width:320px}.drawer-right{flex:1 1;min-width:0;overflow:hidden;padding:16px}.drawer-fields,.drawer-right{display:flex;flex-direction:column}.drawer-fields{gap:8px}.drawer-field-row{align-items:center;display:flex;font-size:13px;gap:12px}.drawer-field-label{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:12px;width:80px}.drawer-field-value{color:#e8eaf0;color:var(--text-primary)}.drawer-field-value.editable{border-radius:4px;cursor:pointer;padding:2px 6px}.drawer-field-value.editable:hover{background:#252830;background:var(--bg-hover)}.drawer-section-title{align-items:center;color:#4e5668;color:var(--text-muted);display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.drawer-section{display:flex;flex-direction:column}.drawer-desc{border-radius:4px;color:#8890a4;color:var(--text-secondary);font-size:13px;line-height:1.5;min-height:40px;padding:6px 8px}.drawer-desc.editable{cursor:pointer}.drawer-desc.editable:hover{background:#252830;background:var(--bg-hover)}.drawer-desc .placeholder{color:#4e5668;color:var(--text-muted);font-style:italic}.drawer-desc-input{background:#1e2026;background:var(--bg-raised);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:4px;box-sizing:border-box;color:#e8eaf0;color:var(--text-primary);font-size:13px;outline:none;padding:6px 8px;resize:vertical;width:100%}.drawer-empty{font-size:12px;padding:4px 0}.drawer-empty,.todo-progress-label{color:#4e5668;color:var(--text-muted)}.todo-progress-label{font-size:11px;font-weight:500;margin-left:auto}.todo-progress-bar{background:#2a2d35;background:var(--border);border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.todo-progress-fill{background:#c8a96e;background:var(--accent);border-radius:2px;height:100%;transition:width .2s ease}.todo-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.todo-item{align-items:center;border-radius:4px;display:flex;gap:8px;padding:4px 6px;transition:background .1s}.todo-item:hover{background:#252830;background:var(--bg-hover)}.todo-item:hover .todo-delete{opacity:1}.todo-item--done .todo-text{color:#4e5668;color:var(--text-muted);text-decoration:line-through}.todo-checkbox{align-items:center;background:#0000;border:1.5px solid #2a2d35;border:1.5px solid var(--border);border-radius:4px;color:#0e0f11;color:var(--bg-base);cursor:pointer;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:border-color .15s,background .15s;width:16px}.todo-checkbox.checked{background:#c8a96e;background:var(--accent)}.todo-checkbox.checked,.todo-checkbox:hover:not(.checked){border-color:#c8a96e;border-color:var(--accent)}.todo-text{cursor:pointer;line-height:1.4}.todo-edit-input,.todo-text{color:#e8eaf0;color:var(--text-primary);flex:1 1;font-size:13px}.todo-edit-input{background:#1e2026;background:var(--bg-raised);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:3px;font-family:inherit;padding:2px 6px}.todo-delete{background:none;border:none;color:#4e5668;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:15px;line-height:1;opacity:0;padding:0 2px;transition:opacity .1s,color .1s}.todo-delete:hover{color:#f87171;color:var(--red)}.todo-add-row{align-items:center;display:flex;gap:6px;margin-top:4px}.todo-add-input{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:4px;color:#e8eaf0;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:13px;padding:5px 8px;transition:border-color .15s}.todo-add-input:focus{border-color:#c8a96e;border-color:var(--accent);outline:none}.todo-add-input::placeholder{color:#4e5668;color:var(--text-muted)}.todo-add-btn{background:#c8a96e26;background:var(--accent-dim);border:none;border-radius:4px;color:#c8a96e;color:var(--accent);cursor:pointer;font-size:16px;font-weight:600;line-height:1;padding:5px 10px;transition:background .15s}.todo-add-btn:hover:not(:disabled){background:#c8a96e;background:var(--accent);color:#0e0f11;color:var(--bg-base)}.todo-add-btn:disabled{cursor:default;opacity:.4}.drawer-attachment{align-items:center;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;font-size:12px;gap:8px;padding:6px 0}.attachment-thumb{border:1px solid #2a2d35;border:1px solid var(--border);border-radius:4px;height:40px;object-fit:cover;width:40px}.attachment-icon{flex-shrink:0;font-size:20px}.attachment-name{color:#c8a96e;color:var(--accent);flex:1 1;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.attachment-name:hover{text-decoration:underline}.attachment-size{flex-shrink:0}.attachment-delete,.attachment-size{color:#4e5668;color:var(--text-muted)}.attachment-delete{background:none;border:none;border-radius:3px;cursor:pointer;font-size:16px;padding:2px 4px}.attachment-delete:hover{background:#252830;background:var(--bg-hover);color:#f87171;color:var(--red)}.btn-add-file{background:none;border:1px solid #2a2d35;border:1px solid var(--border);border-radius:4px;color:#8890a4;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:2px 8px;transition:background .1s}.btn-add-file:hover{background:#252830;background:var(--bg-hover);border-color:#c8a96e;border-color:var(--accent);color:#c8a96e;color:var(--accent)}.drawer-feed-wrap{flex:1 1;margin-bottom:12px;overflow-y:auto}.activity-feed{display:flex;flex-direction:column;gap:10px}.feed-item{align-items:flex-start;display:flex;font-size:12px;gap:10px}.feed-avatar{align-items:center;background:#c8a96e26;background:var(--accent-dim);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:50%;color:#c8a96e;color:var(--accent);display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:28px;justify-content:center;width:28px}.feed-content{flex:1 1;min-width:0}.feed-user{color:#e8eaf0;color:var(--text-primary);font-weight:600}.feed-text{color:#8890a4;color:var(--text-secondary)}.feed-time{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:11px;white-space:nowrap}.comment-bubble{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:0 8px 8px 8px;color:#e8eaf0;color:var(--text-primary);font-size:13px;line-height:1.4;margin-top:4px;padding:6px 10px;word-break:break-word}.reaction-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-chip{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:12px;cursor:default;font-size:12px;padding:1px 6px}.comment-input-area{flex-shrink:0}.comment-input-row{display:flex;gap:8px}.comment-textarea{background:#1e2026;background:var(--bg-raised);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;color:#e8eaf0;color:var(--text-primary);flex:1 1;font-size:13px;outline:none;padding:8px 10px;resize:none;transition:border-color .15s}.comment-textarea:focus{border-color:#c8a96e;border-color:var(--accent)}.comment-actions{align-items:center;display:flex;justify-content:space-between;margin-top:6px}.quick-reactions{display:flex;gap:4px}.quick-emoji{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:2px 4px;transition:background .1s}.quick-emoji:hover{background:#252830;background:var(--bg-hover)}.comment-hint{color:#4e5668;color:var(--text-muted);font-size:11px;margin-top:4px}.btn-sm{font-size:12px;padding:5px 12px}.multiday-banner-row{display:flex;flex-shrink:0;padding:0 0 4px}.multiday-banner-spacer{flex-shrink:0;width:32px}.multiday-banner-parking-spacer{flex-shrink:0;width:222px}.multiday-banner-grid{grid-gap:2px;display:grid;flex:1 1;gap:2px;min-height:24px}.multiday-banner-item{align-items:center;background:#c8a96e26;background:var(--accent-dim);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:4px;color:#c8a96e;color:var(--accent);cursor:pointer;display:flex;font-size:11px;gap:6px;overflow:hidden;padding:3px 8px;white-space:nowrap}.banner-name{font-weight:500;overflow:hidden;text-overflow:ellipsis}.banner-project{font-size:10px;opacity:.7}.banner-end-cap,.banner-start-cap{flex-shrink:0;font-size:8px}.day-column-body.drag-over{background:#c8a96e26!important;background:var(--accent-dim)!important;outline:2px dashed #c8a96e;outline:2px dashed var(--accent);outline-offset:-2px}.drop-time-indicator{background:#c8a96e;background:var(--accent);height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:10}.drop-time-label{background:#0e0f11;background:var(--bg-base);border:1px solid #c8a96e;border:1px solid var(--accent);border-radius:3px;color:#c8a96e;color:var(--accent);font-size:10px;font-weight:600;left:32px;padding:1px 4px;position:absolute;top:-10px}.parking-item[draggable]{-webkit-user-select:none;user-select:none}.parking-item[draggable]:active{cursor:grabbing;opacity:.7}.day-block-task[draggable]:active{cursor:grabbing;opacity:.6}.day-block-resize-handle{border-radius:3px;cursor:ns-resize;height:6px;left:0;position:absolute;right:0;transition:background .1s;z-index:5}.day-block-resize-handle-top{top:0}.day-block-resize-handle-bottom{bottom:0}.day-block-task:hover .day-block-resize-handle{background:#ffffff2e}.day-block-resizing{opacity:.85}.day-block-ghost,.day-block-resizing{-webkit-user-select:none;user-select:none}.day-block-ghost{background:#c8a96e26!important;background:var(--accent-dim)!important;border-left:3px solid #c8a96e!important;border-left:3px solid var(--accent)!important;border-style:dashed;color:#c8a96e!important;color:var(--accent)!important;opacity:.7}.sidebar-search-btn{align-items:center;background:#0000;border:1px solid #2a2d35;border:1px solid var(--border);border-radius:6px;color:#4e5668;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:12px;gap:6px;padding:4px 8px;width:100%}.sidebar-search-btn:hover{background:#252830;background:var(--bg-hover);color:#8890a4;color:var(--text-secondary)}.sidebar-search-btn kbd{font-family:inherit;font-size:10px;margin-left:auto;opacity:.6}.search-backdrop{align-items:flex-start;background:#0000008c;display:flex;inset:0;justify-content:center;padding-top:12vh;position:fixed;z-index:1000}.search-modal{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;max-height:68vh;overflow:hidden;width:min(600px,92vw)}.search-input-row{align-items:center;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;padding:14px 16px}.search-icon{color:#4e5668;color:var(--text-muted);flex-shrink:0}.search-input{background:#0000;border:none;color:#e8eaf0;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:15px;outline:none}.search-spinner{animation:spin .6s linear infinite;border:2px solid #2a2d35;border-top-color:#c8a96e;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);flex-shrink:0;height:14px;width:14px}.search-esc{background:#0000;border:1px solid #2a2d35;border:1px solid var(--border);border-radius:4px;color:#4e5668;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:11px;padding:2px 6px}.search-results{flex:1 1;margin:0;overflow-y:auto;padding:6px}.search-group{margin-bottom:4px}.search-group-header{align-items:center;color:#4e5668;color:var(--text-muted);display:flex;font-size:10px;font-weight:600;gap:6px;letter-spacing:.06em;padding:4px 10px 2px;text-transform:uppercase}.search-group-icon{font-size:11px}.search-group-count{background:#1e2026;background:var(--bg-raised);border-radius:8px;color:#4e5668;color:var(--text-muted);font-size:10px;margin-left:auto;padding:0 5px}.search-result-item{border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:7px 12px}.search-result-item.active{background:#252830;background:var(--bg-hover)}.search-result-main{align-items:center;display:flex;gap:6px}.search-milestone{color:#c8a96e;color:var(--accent);font-size:11px}.search-result-name{color:#e8eaf0;color:var(--text-primary);font-size:14px}.search-result-name mark{background:#c8a96e4d;border-radius:2px;color:inherit;padding:0 1px}.search-result-meta{align-items:center;color:#4e5668;color:var(--text-muted);display:flex;font-size:12px;gap:8px}.search-project{color:#8890a4;color:var(--text-secondary);font-weight:500}.search-parent{opacity:.75}.search-status{margin-left:auto}.search-date{flex-shrink:0}.search-empty{color:#4e5668;color:var(--text-muted);font-size:14px;padding:28px;text-align:center}.search-footer{border-top:1px solid #2a2d35;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;padding:8px 16px}.search-footer,.search-footer kbd{color:#4e5668;color:var(--text-muted);font-size:11px}.search-footer kbd{background:#0000;border:1px solid #2a2d35;border:1px solid var(--border);border-radius:3px;font-family:inherit;margin-right:3px;padding:1px 5px}.search-user-avatar{align-items:center;background:#c8a96e26;background:var(--accent-dim);border-radius:50%;color:#c8a96e;color:var(--accent);display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;height:20px;justify-content:center;width:20px}.search-file-icon{flex-shrink:0;font-size:13px}.search-filesize{color:#4e5668;color:var(--text-muted);flex-shrink:0;font-size:10px;margin-left:auto}.pinfo-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.pinfo-header{align-items:flex-start;border-bottom:1px solid #2a2d35;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;padding:16px 28px 14px}.pinfo-title-block{flex:1 1;min-width:0}.pinfo-title{color:#e8eaf0;color:var(--text-primary);font-family:Fraunces,serif;font-size:26px;font-weight:300;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinfo-subtitle{color:#4e5668;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.pinfo-body{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px 28px 32px}.pinfo-section{background:#16181c;background:var(--bg-surface);border:1px solid #2a2d35;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-lg);padding:16px 20px}.pinfo-section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.pinfo-section-title{color:#4e5668;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pinfo-grid{grid-gap:14px 20px;display:grid;gap:14px 20px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pinfo-field{display:flex;flex-direction:column;gap:4px}.pinfo-field-label{color:#4e5668;color:var(--text-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.pinfo-field-value{color:#e8eaf0;color:var(--text-primary);font-size:13px}.pinfo-contact-card{display:flex;flex-direction:column;font-size:13px;gap:4px}.pinfo-contact-name{color:#e8eaf0;color:var(--text-primary);font-size:15px;font-weight:600}.pinfo-contact-row{color:#8890a4;color:var(--text-secondary);font-size:12px}