:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4f6f8;--surface:#fff;--surface-alt:#f8fafc;--column:#eef2f6;--ink:#101828;--ink-soft:#344054;--muted:#667085;--line:#d9e0e8;--line-soft:#e7ecf2;--brand:#0b2a5b;--brand-soft:#eaf1fb;--gold:#b88224;--cyan:#159aa6;--green:#13804f;--blue:#2563eb;--violet:#6941c6;--rose:#d92d5a;--red:#d92d20;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 10px 30px #1018281a;--radius:8px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#07111f;--surface:#101b2d;--surface-alt:#142238;--column:#111d31;--ink:#edf3fb;--ink-soft:#cbd7e7;--muted:#8fa1ba;--line:#26364d;--line-soft:#1d2a3d;--brand:#d9e7ff;--brand-soft:#5c8cd638;--gold:#d9a441;--cyan:#32c3d0;--green:#33b879;--blue:#79a9ff;--violet:#a991ff;--rose:#ff7aa2;--red:#ff7267;--shadow-sm:0 1px 2px #00000052;--shadow-md:0 18px 44px #0000006b}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);letter-spacing:0;background:radial-gradient(circle at 8% 4%,#0b2a5b33,#0000 28rem),radial-gradient(circle at 78% 2%,#b882242e,#0000 24rem),radial-gradient(circle at 92% 58%,#159aa61f,#0000 28rem),linear-gradient(#f8fafc 0%,#eef3f8 48%,#e8eef5 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}[data-theme=dark] body{background:radial-gradient(circle at 8% 4%,#3b71ca38,#0000 28rem),radial-gradient(circle at 78% 2%,#d9a44129,#0000 24rem),radial-gradient(circle at 92% 58%,#32c3d01f,#0000 28rem),linear-gradient(#08111f 0%,#0b1628 48%,#101b2d 100%)}body:before{content:"";z-index:-1;pointer-events:none;opacity:.8;background:linear-gradient(124deg,#0000 0 9%,#0b2a5b14 9.2% 9.45%,#0000 9.7% 100%),linear-gradient(128deg,#0000 0 13%,#b8822429 13.15% 13.35%,#0000 13.55% 100%),linear-gradient(132deg,#0000 0 17%,#159aa61f 17.1% 17.28%,#0000 17.5% 100%);position:fixed;inset:0}[data-theme=dark] body:before{opacity:.9;background:linear-gradient(124deg,#0000 0 9%,#79a9ff1f 9.2% 9.45%,#0000 9.7% 100%),linear-gradient(128deg,#0000 0 13%,#d9a44121 13.15% 13.35%,#0000 13.55% 100%),linear-gradient(132deg,#0000 0 17%,#32c3d01a 17.1% 17.28%,#0000 17.5% 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-version{z-index:5;color:#475467c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#ffffff85;border:1px solid #b9c7d861;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:720;line-height:1.2;position:fixed;bottom:8px;left:10px}[data-theme=dark] .app-version{color:#cbd7e7b8;background:#0d192b94;border-color:#667c9a57}.auth-debug-panel{z-index:100;color:#f7fbff;background:#08142be6;border:1px solid #ffffff29;border-radius:14px;width:min(520px,100vw - 28px);max-height:280px;padding:12px;font-size:11px;line-height:1.35;position:fixed;bottom:36px;right:14px;overflow:auto;box-shadow:0 18px 42px #00000047}.auth-debug-title{letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.auth-debug-status{color:#f7fbffb8;margin-top:2px}.auth-debug-log{gap:7px;margin-top:10px;display:grid}.auth-debug-row{gap:2px;display:grid}.auth-debug-row span{color:#f7fbff9e}.auth-debug-row strong{color:#f7fbff}.auth-debug-row code{color:#dbeafe;overflow-wrap:anywhere;white-space:normal}.auth-debug-empty{color:#f7fbffad}.shell{min-height:100vh;padding:0 24px 24px}.workspace{width:min(1280px,100%);margin:0 auto}.app-header{--header-control-height:44px;justify-content:flex-start;align-items:center;gap:18px;width:calc(100vw - 48px);margin:14px 0 18px calc(min(1280px,100vw - 48px)/2 + -50vw + 24px);display:flex;position:relative}.brand{align-items:center;display:flex}.brand-image{object-fit:contain;background:0 0;border-radius:0;width:54px;height:72px}.header-nav{align-items:center;gap:8px;display:flex}.header-kpis{min-width:0;min-height:var(--header-control-height);border-radius:var(--radius);background:linear-gradient(#ffffffa8,#ffffff6b),#eef2f66b;border:1px solid #b9c7d88f;justify-content:center;align-items:center;gap:7px;padding:5px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 20px #1018280d}.header-kpi-hours-stack{align-items:center;gap:7px;display:flex}.header-kpi-row{align-items:center;gap:7px;min-height:32px;padding:0 6px;display:inline-flex}.header-kpi-label{color:var(--ink-soft);white-space:nowrap;font-size:.74rem;font-weight:760}.header-kpi-hours{min-width:72px;color:var(--brand);text-align:center;white-space:nowrap;background:#b882241c;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:760}.header-task-count{width:32px;height:32px;color:var(--brand);background:linear-gradient(#ffffffc2,#ffffff75),#0b2a5b0f;border:1px solid #0b2a5b29;border-radius:999px;place-items:center;font-size:.82rem;font-weight:820;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #ffffff7a}.user-menu-shell{align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.user-menu-email{max-width:240px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:680;overflow:hidden}.user-menu{position:relative}.user-menu summary{list-style:none}.user-menu summary::-webkit-details-marker{display:none}.user-menu-anchor{width:var(--header-control-height);height:var(--header-control-height);border-radius:var(--radius);color:var(--brand);background:linear-gradient(#ffffffb8,#ffffff7a),#eef2f66b;border:1px solid #b9c7d8b8;place-items:center;transition:background .14s,border-color .14s,transform .14s;display:inline-grid;box-shadow:0 8px 20px #1018280d}.user-menu-anchor:hover{background:#ffffffc7;border-color:#0b2a5b47;transform:translateY(-1px)}.user-menu[open] .user-menu-anchor{background:#ffffffd1;border-color:#b8822480}.user-menu-popover{z-index:20;border-radius:var(--radius);min-width:230px;box-shadow:var(--shadow-md);background:linear-gradient(#fffffff0,#ffffffdb),#eef2f6cc;border:1px solid #b9c7d8b8;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-popover-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:680;overflow:hidden}.theme-toggle{color:var(--ink-soft)}.theme-toggle-track{background:#66708538;border-radius:999px;width:32px;height:18px;margin-left:auto;position:relative}.theme-toggle-track span{background:var(--gold);border-radius:999px;width:12px;height:12px;transition:transform .14s;position:absolute;top:3px;left:3px}.theme-toggle[aria-pressed=true] .theme-toggle-track{background:#d9a44138}.theme-toggle[aria-pressed=true] .theme-toggle-track span{transform:translate(14px)}.user-menu-link,.theme-toggle,.user-menu-popover button{border-radius:var(--radius);min-height:34px;color:var(--ink-soft);background:#ffffff9e;border:1px solid #d9e0e8db;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;font-size:.84rem;font-weight:720;text-decoration:none;display:inline-flex}.user-menu-link,.theme-toggle{color:var(--ink-soft)}.user-menu-popover .user-menu-danger{color:var(--red)}.user-menu-link.active{color:var(--brand);background:#b8822417;border-color:#b8822457}.user-menu-link:hover,.user-menu-popover button:hover,.user-menu-link:hover,.theme-toggle:hover{color:var(--brand);background:#0b2a5b0d;border-color:#0b2a5b3d}.user-menu-popover .user-menu-danger:hover{color:var(--red);background:#d92d200f;border-color:#d92d2047}.user-menu-popover .theme-toggle:hover{color:var(--brand);background:#0b2a5b0d;border-color:#0b2a5b3d}[data-theme=dark] .board-column,[data-theme=dark] .calendar-day,[data-theme=dark] .chart-card,[data-theme=dark] .hours-trend-card,[data-theme=dark] .monitoring-role-legend,[data-theme=dark] .kpi-card,[data-theme=dark] .item,[data-theme=dark] .item-modal,[data-theme=dark] .projects-panel,[data-theme=dark] .auth-panel,[data-theme=dark] .completion-modal,[data-theme=dark] .password-recovery-modal,[data-theme=dark] .projects-table-wrap,[data-theme=dark] .project-create,[data-theme=dark] .column-add-form,[data-theme=dark] .calendar-task-row,[data-theme=dark] .calendar-day-summary,[data-theme=dark] .calendar-role-group-header,[data-theme=dark] .input-shell,[data-theme=dark] .date-chip-grid button,[data-theme=dark] .header-kpis,[data-theme=dark] .user-menu-anchor,[data-theme=dark] .user-menu-popover,[data-theme=dark] .nav-icon-link{box-shadow:var(--shadow-sm);background:linear-gradient(#121f34d1,#0d192bad),#0b1626b8;border-color:#667c9a6b}[data-theme=dark] .item-modal,[data-theme=dark] .completion-modal,[data-theme=dark] .password-recovery-modal,[data-theme=dark] .modal{background:linear-gradient(#121f34f0,#0d192be8),#0b1626eb}[data-theme=dark] .board-column-heading,[data-theme=dark] .board-undo-button,[data-theme=dark] .column-add-button,[data-theme=dark] .header-kpi-hours,[data-theme=dark] .header-task-count,[data-theme=dark] .time-badge,[data-theme=dark] .quiet-counter,[data-theme=dark] .role-pie-count,[data-theme=dark] .projects-table tbody tr,[data-theme=dark] .user-menu-link,[data-theme=dark] .theme-toggle,[data-theme=dark] .hours-scale-switch,[data-theme=dark] .hours-horizon-control,[data-theme=dark] .hours-role-area-toggle,[data-theme=dark] .hours-trend-stats span,[data-theme=dark] .user-menu-popover button{color:var(--ink-soft);background:#101d31b8;border-color:#667c9a57}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{border-color:var(--line);color:var(--ink);background:#0a1423e0}[data-theme=dark] .nav-icon-link:hover,[data-theme=dark] .user-menu-anchor:hover,[data-theme=dark] .column-add-button:hover,[data-theme=dark] .board-undo-button:not(:disabled):hover,[data-theme=dark] .date-chip-grid button:hover,[data-theme=dark] .user-menu-link:hover,[data-theme=dark] .user-menu-popover button:hover{color:var(--brand);background:#162741db;border-color:#d9a44161}[data-theme=dark] .user-menu-popover .user-menu-danger{color:#ff8a7f}[data-theme=dark] .user-menu-popover .user-menu-danger:hover{color:#ffb0a8;background:#d92d2024;border-color:#ff8a7f61}[data-theme=dark] .board-sort-controls button:hover{color:#f7d68b;background:#162741db;border-color:#d9a44161}[data-theme=dark] .action-icon:hover{background:#79a9ff1f}[data-theme=dark] .nav-icon-link.active,[data-theme=dark] .user-menu-link.active,[data-theme=dark] .user-menu[open] .user-menu-anchor,[data-theme=dark] .board-sort-controls button.active{color:var(--brand);background:#d9a4411f;border-color:#d9a44180}[data-theme=dark] .primary-button{color:#07111f;background:var(--gold);border-color:#d9a44175}[data-theme=dark] .confirm-delete-icon{color:#ff9a91;background:#d92d2024;border-color:#ff8a7f47}[data-theme=dark] .confirm-delete-body{background:#d92d201f;border-color:#ff8a7f42}[data-theme=dark] .confirm-delete-body span{color:#ffb0a8}[data-theme=dark] .section-empty,[data-theme=dark] .calendar-empty-day{color:var(--muted);background:#0d192b8a;border-color:#667c9a80}[data-theme=dark] .page-loading span{background:#0d192bb8;border-color:#667c9a75;box-shadow:0 16px 34px #00000038}[data-theme=dark] .calendar-day strong{color:#f7d68b;box-shadow:inset 0 0 0 1px #ffffff0a, var(--shadow-sm);background:#d9a44124;border-color:#d9a44161}[data-theme=dark] .chips span{color:var(--ink-soft);background:#79a9ff17;border-color:#79a9ff42}[data-theme=dark] .chips svg{color:var(--gold)}[data-theme=dark] .time-badge{color:#f7d68b;background:linear-gradient(#d9a4412e,#d9a4411a),#101d31c7;border-color:#d9a4416b;box-shadow:0 6px 16px #00000038}[data-theme=dark] .item.role-card .time-badge{border-color:color-mix(in srgb, var(--role-color,var(--gold)) 62%, #101b2d);color:color-mix(in srgb, var(--role-color,var(--gold)) 48%, #fff);background:linear-gradient(180deg, #ffffff0b, #ffffff05), color-mix(in srgb, var(--role-color,var(--gold)) 20%, #101d31db)}.nav-icon-link{width:var(--header-control-height);height:var(--header-control-height);border-radius:var(--radius);color:var(--ink-soft);background:#ffffff85;border:1px solid #b9c7d8b8;place-items:center;text-decoration:none;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-grid}.nav-icon-link:hover{color:var(--brand);background:#ffffffbd;border-color:#0b2a5b47;transform:translateY(-1px)}.nav-icon-link.active{color:var(--brand);background:#ffffffd1;border-color:#b8822480;box-shadow:inset 0 -2px #b88224c7}.nav-link,.session-row button{border-radius:var(--radius);min-height:34px;color:var(--ink-soft);box-shadow:none;background:#ffffff85;border:1px solid #b9c7d8bf;justify-content:center;align-items:center;gap:7px;padding:0 10px;text-decoration:none;display:inline-flex}.nav-link:hover,.session-row button:hover{color:var(--brand);border-color:#b9c7d8}.session-row{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin:-8px 0 12px;font-size:.86rem;display:flex}.page-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-title-row h2{color:var(--brand);margin:2px 0 0;font-size:1.35rem;font-weight:760}.quiet-counter{border-radius:var(--radius);min-height:30px;color:var(--ink-soft);background:#ffffff8f;border:1px solid #b9c7d8b8;place-items:center;padding:0 10px;font-size:.86rem;font-weight:650;display:inline-grid}
.calendar-panel,.monitoring-panel{width:calc(100vw - 48px);margin-left:calc(min(1280px,100vw - 48px)/2 + -50vw + 24px)}.calendar-grid{grid-template-columns:repeat(7,minmax(108px,1fr));gap:8px;display:grid}.calendar-weekday{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:760}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-month-control{grid-template-columns:30px minmax(190px,auto) 30px;align-items:center;gap:4px;margin-top:2px;display:inline-grid;position:relative}.calendar-month-nav,.calendar-month-button{border-radius:var(--radius);color:var(--brand);background:0 0;border:1px solid #0000;transition:border-color .14s,background .14s,transform .14s}.calendar-month-nav{width:30px;height:30px;color:var(--muted);place-items:center;display:inline-grid}.calendar-month-button{text-align:center;min-height:34px;padding:0 10px;font-size:1.35rem;font-weight:760}.calendar-month-nav:hover,.calendar-month-button:hover{background:#ffffff75;border-color:#b8822438;transform:translateY(-1px)}.calendar-month-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:50%}.calendar-month-summary{color:var(--ink-soft);justify-items:center;gap:2px;margin-top:3px;display:grid}.calendar-month-summary span{color:var(--ink-soft);font-size:.8rem;font-weight:680}.calendar-day{border-radius:var(--radius);text-align:left;width:100%;min-height:92px;box-shadow:var(--shadow-sm);background:linear-gradient(#ffffff94,#ffffff4d),#eef2f67a;border:1px solid #d9e0e8c7;grid-template-columns:1fr auto;align-content:start;gap:8px;padding:10px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid;position:relative}.calendar-day:hover{border-color:#0b2a5b47;transform:translateY(-1px);box-shadow:0 10px 24px #10182814}.calendar-day:focus-visible{outline-offset:2px;outline:3px solid #b882243d}.calendar-day.muted{opacity:.45}.calendar-day.today{border-color:#b8822494}.calendar-day span{color:var(--ink-soft);font-size:.86rem;font-weight:700}.calendar-day-metrics{grid-template-columns:34px max-content;justify-content:end;align-items:start;gap:6px;display:grid}.calendar-day strong{width:34px;height:34px;color:var(--brand);box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #0b2a5b24;border-radius:999px;grid-column:1;place-items:center;font-size:.86rem;font-weight:760;display:grid}.calendar-day-duration{justify-items:center;min-width:34px;display:grid}.calendar-day-duration .role-pie{justify-self:center}.calendar-day-duration em{text-align:center;width:max-content;color:var(--muted);font-size:.72rem;font-style:normal;font-weight:740;display:block}.role-pie{flex:none;place-items:center;display:inline-grid;position:relative}.role-pie.compact{width:34px;height:34px}.role-pie.regular{width:126px;height:126px;margin:4px auto 12px}.role-pie-disc{border:2px solid #ffffffc2;border-radius:999px;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 1px #10182814,0 8px 18px #10182814}.role-pie-count{width:48px;height:48px;color:var(--brand);background:#ffffffe0;border-radius:999px;place-items:center;font-size:1rem;font-weight:780;display:grid;position:absolute;box-shadow:0 2px 8px #1018281f}.role-pie-card{min-height:276px}.role-pie-legend{text-align:left;justify-content:stretch;gap:7px;width:100%;margin-top:8px;display:grid}.role-pie-legend span{color:var(--muted);align-items:center;gap:5px;font-size:.75rem;font-weight:700;display:inline-flex}.role-pie-legend i{border-radius:999px;width:8px;height:8px}.calendar-day-modal{align-self:start;max-width:980px;margin-top:34px}.calendar-modal-backdrop{place-items:start center;overflow-y:auto}.calendar-day-content{grid-template-columns:minmax(0,1fr) 336px;align-items:start;gap:14px;margin-top:14px;display:grid}.calendar-day-summary{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:linear-gradient(#ffffffa3,#ffffff5c),#eef2f67a;border:1px solid #d9e0e8bd;grid-template-columns:1fr;justify-items:center;gap:13px;padding:16px;display:grid}.calendar-day-summary-visual{place-items:center;display:grid}.calendar-day-summary .role-pie.regular{width:264px;height:264px;margin:0}.calendar-day-summary-content{text-align:center;width:100%;min-width:0}.calendar-day-summary-content strong{color:var(--brand);margin:4px 0 5px;font-size:1.55rem;font-weight:780;line-height:1;display:block}.calendar-day-summary-content small{color:var(--muted);margin-bottom:12px;font-size:.76rem;font-weight:700;display:block}.calendar-day-legend{text-align:left;gap:7px;display:grid}.calendar-day-legend>span{color:var(--ink-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:grid}.calendar-day-legend i{border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 3px #ffffffbd}.calendar-day-legend b{min-width:42px;color:var(--brand);text-align:center;background:#b882241c;border-radius:999px;padding:2px 7px;font-size:.76rem}.calendar-day-legend em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:680}.calendar-task-list{gap:12px;display:grid}.calendar-role-group{gap:7px;display:grid}.calendar-role-group-header{border-radius:var(--radius);cursor:pointer;background:#ffffff85;border:1px solid #d9e0e8a8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;list-style:none;transition:border-color .14s,background .14s;display:grid}.calendar-role-group-header::-webkit-details-marker{display:none}.calendar-role-group-header:before{content:"";border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);flex:none;width:7px;height:7px;transition:transform .14s;transform:rotate(-45deg)}.calendar-role-group[open] .calendar-role-group-header:before{transform:rotate(45deg)}.calendar-role-group-header:hover{background:#ffffffad;border-color:#b8822457}.calendar-role-group-header div{justify-self:start;align-items:center;gap:8px;min-width:0;display:flex}.calendar-role-group-header i{border-radius:999px;flex:none;width:10px;height:10px;box-shadow:0 0 0 3px #ffffffb8}.calendar-role-group-header h3{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;font-weight:780;overflow:hidden}.calendar-role-group-header span{color:var(--muted);white-space:nowrap;flex:none;font-size:.74rem;font-weight:740}.calendar-role-group-items{border-left:1px solid #b8822447;gap:7px;margin-left:26px;padding-left:12px;display:grid}.calendar-task-row{border-radius:var(--radius);background:#f8fafcc7;border:1px solid #d9e0e8bd;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;width:100%;padding:7px;transition:border-color .14s,background .14s,transform .14s;display:grid}.calendar-task-row:hover{background:#ffffffdb;border-color:#b8822452;transform:translate(2px)}.calendar-task-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:4px 5px;display:flex}.calendar-task-main>div{min-width:0}.calendar-task-undo{width:32px;height:32px;color:var(--muted);background:#ffffff85;border:1px solid #b9c7d8b3;border-radius:999px;place-items:center;transition:border-color .14s,color .14s,background .14s,transform .14s;display:grid}.calendar-task-undo:hover{color:var(--green);background:#13804f17;border-color:#13804f57;transform:rotate(-12deg)}[data-theme=dark] .calendar-role-group-header{background:#101d3194;border-color:#667c9a57}[data-theme=dark] .calendar-role-group-header:hover{background:#192b46c7;border-color:#d9a44170}[data-theme=dark] .calendar-role-group-header i{box-shadow:0 0 0 3px #09101cc7}[data-theme=dark] .calendar-task-row{background:#0c1728b3;border-color:#667c9a61}[data-theme=dark] .calendar-task-row:hover{background:#16263ee6;border-color:#d9a44175}.calendar-task-main:focus-visible,.calendar-task-undo:focus-visible{outline-offset:2px;outline:3px solid #b8822438}[data-theme=dark] .calendar-task-undo{color:var(--muted);background:#101d31b3;border-color:#667c9a5c}[data-theme=dark] .calendar-task-undo:hover{color:#7be0a5;background:#13804f29;border-color:#41d68a61}.calendar-task-row h3{max-width:430px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;font-weight:740;overflow:hidden}.calendar-task-row time{color:var(--brand);flex:none;font-size:.82rem;font-weight:760}.calendar-task-meta{flex-wrap:wrap;gap:7px;margin-top:6px;display:flex}.calendar-task-meta span{color:var(--muted);align-items:center;gap:5px;font-size:.76rem;font-weight:680;display:inline-flex}.calendar-task-meta svg{color:var(--gold)}.calendar-task-meta .deadline-delta{border:1px solid #0000;border-radius:999px;padding:2px 7px;font-weight:760}.calendar-task-meta .deadline-delta svg{color:currentColor}.deadline-delta.early{color:var(--green);background:#13804f14;border-color:#13804f38}.deadline-delta.on-time{color:var(--gold);background:#b882241a;border-color:#b8822442}.deadline-delta.late{color:var(--red);background:#d92d2014;border-color:#d92d203d}.calendar-empty-day{border-radius:var(--radius);color:var(--muted);text-align:center;background:#f8fafca3;border:1px dashed #b9c7d8db;margin:4px 0 0;padding:18px}.kpi-strip{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.kpi-card,.chart-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:linear-gradient(#ffffff9e,#ffffff57),#eef2f680;border:1px solid #d9e0e8c7}.kpi-card{padding:14px}.kpi-card span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}.kpi-card strong{color:var(--brand);margin-top:6px;font-size:1.8rem;line-height:1;display:block}.chart-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:10px;display:grid}.monitoring-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.monitoring-pie-grid{grid-template-columns:repeat(2,minmax(190px,1fr));gap:10px;display:grid}.monitoring-role-legend{border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);background:linear-gradient(#ffffff8a,#ffffff47),#eef2f66b;border:1px solid #d9e0e8c7;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center;gap:8px 14px;margin-bottom:10px;padding:9px 12px;display:grid}.monitoring-role-legend span{color:var(--ink-soft);justify-content:center;align-items:center;gap:6px;font-size:.76rem;font-weight:740;display:inline-flex}.monitoring-role-legend i{border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 3px #ffffff9e}.monitoring-pie-grid .role-pie-card{align-content:start;justify-items:center;min-width:0;min-height:252px;display:grid;position:relative}.monitoring-pie-grid .role-pie.regular{width:189px;height:189px;margin:2px auto 10px;position:static}.monitoring-pie-grid .role-pie-count{width:42px;height:42px;font-size:.84rem;top:12px;right:12px}.monitoring-pie-grid .chart-card-heading{width:100%}.monitoring-pie-grid .role-pie-legend{flex-wrap:wrap;justify-content:flex-start;align-self:start;gap:5px 9px;width:100%;display:flex}.monitoring-pie-grid .role-pie-legend span{flex:58px;min-width:max-content;font-size:0}.monitoring-pie-grid .role-pie-legend span.empty{font-size:.75rem}.monitoring-pie-grid .role-pie-legend b{color:var(--muted);font-size:.72rem;font-weight:760}[data-theme=dark] .monitoring-role-legend i{box-shadow:0 0 0 3px #0d192bb8}.hours-trend-card{border-radius:var(--radius);width:100%;min-width:0;min-height:514px;box-shadow:var(--shadow-sm);background:linear-gradient(#ffffff9e,#ffffff57),#eef2f680;border:1px solid #d9e0e8c7;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:14px;display:grid}.hours-trend-header{justify-content:space-between;align-items:start;gap:14px;display:flex}.hours-trend-controls{justify-content:flex-end;place-items:start end;gap:6px;display:grid}.hours-trend-control-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.hours-trend-title-block{justify-items:start;gap:7px;display:grid}.hours-trend-header h3{color:var(--ink-soft);margin:0;font-size:.96rem;font-weight:760}.hours-scale-switch{background:#ffffff7a;border:1px solid #d9e0e8c7;border-radius:999px;grid-template-columns:repeat(2,minmax(64px,1fr));gap:3px;padding:3px;display:inline-grid;position:relative}.hours-horizon-control{background:#ffffff61;border:1px solid #d9e0e8c7;border-radius:999px;flex-wrap:wrap;justify-content:flex-end;gap:3px;padding:3px;display:flex}.hours-scale-switch button,.hours-horizon-control button,.hours-role-area-toggle{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:999px;font-size:.76rem;font-weight:760}.hours-scale-switch button{z-index:1;min-height:28px;padding:0 10px;position:relative}.hours-horizon-control button{flex:none;min-height:28px;padding:0 9px;font-size:.72rem}.hours-role-area-toggle{background:#ffffff61;border:1px solid #d9e0e8c7;justify-content:space-between;align-items:center;gap:8px;min-width:72px;padding:0 7px 0 10px;display:inline-flex}.hours-role-area-toggle i{background:#66708538;border-radius:999px;width:25px;height:15px;transition:background .14s;display:inline-block;position:relative}.hours-role-area-toggle i:after{content:"";background:#ffffffeb;border-radius:999px;width:9px;height:9px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1018282e}.hours-role-area-toggle.active i{background:#b882247a}.hours-role-area-toggle.active i:after{transform:translate(10px)}.hours-scale-switch button.active,.hours-horizon-control button.active,.hours-role-area-toggle.active{color:var(--brand);background:#b8822424;box-shadow:inset 0 0 0 1px #b8822429}[data-theme=dark] .hours-scale-switch button.active,[data-theme=dark] .hours-horizon-control button.active,[data-theme=dark] .hours-role-area-toggle.active{color:var(--gold);background:#d9a44129;box-shadow:inset 0 0 0 1px #d9a44138}[data-theme=dark] .hours-trend-area{fill:#32c3d01c}[data-theme=dark] .hours-trend-role-area{opacity:.42;stroke:#0d192b42}[data-theme=dark] .hours-trend-grid-line{stroke:#667c9a6b}[data-theme=dark] .hours-trend-reference-line{stroke:#d9a441a3}[data-theme=dark] .hours-trend-reference-label{fill:var(--gold)}[data-theme=dark] .hours-trend-dot{stroke:#0d192beb}.hours-trend-svg{align-self:stretch;width:100%;height:auto;min-height:300px;overflow:visible}.hours-trend-grid-line{stroke:#b9c7d894;stroke-dasharray:4 7;stroke-width:1px}.hours-trend-area{fill:#0b2a5b1a}.hours-trend-role-area{opacity:.34;stroke:#ffffff3d;stroke-width:.6px}.hours-trend-reference-line{stroke:#b8822494;stroke-dasharray:6 8;stroke-linecap:round;stroke-width:1.5px}.hours-trend-reference-label{fill:var(--gold);text-anchor:end;font-size:.72rem;font-weight:760}.hours-trend-line{fill:none;stroke:var(--brand);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.hours-trend-dot{fill:var(--gold);stroke:#ffffffe0;stroke-width:2px}.hours-trend-x-label,.hours-trend-y-label{fill:var(--muted);font-size:.72rem;font-weight:720}.hours-trend-x-label{text-anchor:middle}.hours-trend-y-label{text-anchor:end}.hours-trend-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hours-trend-stats span{border-radius:var(--radius);color:var(--muted);text-transform:uppercase;background:linear-gradient(#ffffff9e,#ffffff57),#eef2f657;border:1px solid #d9e0e8a3;gap:6px;padding:12px 13px;font-size:.71rem;font-weight:760;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff70}.hours-trend-stats span:before{content:"";background:linear-gradient(180deg, var(--cyan), var(--gold));width:3px;position:absolute;inset:0 auto 0 0}.hours-trend-stats strong{color:var(--brand);text-transform:none;font-size:1.22rem;font-weight:790;line-height:1}.chart-card.wide{grid-column:span 2}.chart-card{padding:14px}.chart-card-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.chart-card h3{color:var(--ink-soft);margin:0;font-size:.9rem;font-weight:720}.chart-legend{color:var(--muted);align-items:center;gap:10px;font-size:.76rem;font-weight:700;display:flex}.chart-legend span{align-items:center;gap:5px;display:inline-flex}.chart-legend span:before{content:"";border-radius:999px;width:8px;height:8px}.chart-legend .created:before{background:var(--brand)}.chart-legend .completed:before{background:var(--gold)}.sparkline{width:100%;height:150px}.sparkline polyline{fill:none;stroke:var(--gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.sparkline.blue polyline,.sparkline.multi .created{stroke:var(--brand)}.sparkline.gold polyline,.sparkline.multi .completed{stroke:var(--gold)}.sparkline.multi{height:180px}.sparkline.multi .created{opacity:.86}.chart-axis{color:var(--muted);justify-content:space-between;font-size:.74rem;display:flex}@media (max-width:1040px){.monitoring-layout{grid-template-columns:1fr}.monitoring-pie-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:620px){.monitoring-pie-grid,.hours-trend-stats{grid-template-columns:1fr}}
.board-panel{width:calc(100vw - 48px);margin-left:calc(min(1280px,100vw - 48px)/2 + -50vw + 24px);padding-bottom:4px;overflow-x:auto}.board-toolbar{justify-content:space-between;align-items:center;gap:12px;min-width:1320px;margin-bottom:10px;display:flex}.board-toolbar>span{flex:auto}.board-toolbar .board-message{flex:auto;margin:0}.board-undo-button{min-height:34px;color:var(--ink-soft);background:#ffffff94;border:1px solid #b9c7d8b3;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.82rem;font-weight:720;transition:border-color .14s,color .14s,background .14s,opacity .14s;display:inline-flex;box-shadow:0 8px 20px #1018280d}.board-undo-button:not(:disabled):hover{color:var(--brand);background:#ffffffd1;border-color:#b8822461}.board-undo-button:disabled{cursor:not-allowed;opacity:.42}.board-columns{grid-template-columns:repeat(4,minmax(320px,1fr));align-items:start;gap:14px;min-width:1320px;display:grid}.board-column{border-radius:var(--radius);background:linear-gradient(#ffffff5c,#ffffff2b),#eef2f680;border:1px solid #d9e0e8c7;grid-template-rows:auto 1fr;gap:10px;padding:0;display:grid;overflow:hidden;box-shadow:0 12px 28px #10182814}.board-column-heading{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border-bottom:1px solid #d9e0e8c2;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:0 12px;display:flex}.board-column-heading h3{color:var(--ink-soft);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:760}.board-column-title{align-items:center;gap:8px;min-width:0;display:flex}.board-column-heading span{min-width:24px;min-height:22px;color:var(--brand);background:var(--brand-soft);border-radius:999px;flex:none;place-items:center;font-size:.76rem;font-weight:700;display:inline-grid}.board-sort-controls{flex:none;align-items:center;gap:3px;display:flex}.board-sort-controls button{border-radius:var(--radius);width:27px;height:27px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;transition:background .12s,border-color .12s,color .12s;display:grid}.board-sort-controls button:hover{color:var(--brand);background:#ffffff9e;border-color:#b9c7d8bf}.board-sort-controls button.active{color:var(--brand);background:#b882241f;border-color:#b882246b}.board-cards,.projects-list{align-content:start;gap:8px;display:grid}.board-cards{min-height:52px;padding:10px}.board-card-list{overscroll-behavior:contain;scrollbar-gutter:stable;grid-auto-rows:max-content;align-content:start;gap:8px;max-height:356px;padding-right:3px;display:grid;overflow-y:auto}.board-card-list::-webkit-scrollbar{width:8px}.board-card-list::-webkit-scrollbar-track{background:0 0}.board-card-list::-webkit-scrollbar-thumb{background:#66708557 padding-box content-box;border:2px solid #0000;border-radius:999px}.board-card-list:hover::-webkit-scrollbar-thumb{background-color:#0b2a5b6b}.section-empty{border-radius:var(--radius);min-height:72px;color:var(--muted);background:#ffffff61;border:1px dashed #c7d2df;place-items:center;padding:12px;font-size:.86rem;display:grid}.page-loading{width:100%;min-height:min(360px,100vh - 180px);color:var(--muted);place-items:center;font-size:.92rem;display:grid}.page-loading span{background:#ffffff7a;border:1px solid #c7d2dfb3;border-radius:999px;place-items:center;min-width:148px;min-height:44px;padding:0 18px;display:inline-grid;box-shadow:0 12px 28px #10182814}.item{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);border-left:4px solid #0000;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.item:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 8px 22px #10182814}.item[draggable=true]{cursor:grab}.item[draggable=true]:active{cursor:grabbing}.item.dragging{border-color:#b882246b;box-shadow:0 10px 26px #b8822424}.item.drag-anchor{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;position:absolute;overflow:hidden}.item-drop-placeholder{border-radius:var(--radius);background:linear-gradient(#ffffff6b,#ffffff3d),#0b2a5b0b;border:1px solid #0b2a5b2e;border-left:4px solid #b88224b8;height:42px;box-shadow:inset 0 0 0 1px #ffffff57}.floating-drag-preview{z-index:1000;box-shadow:var(--shadow-md);opacity:.8;pointer-events:none;margin:0;position:fixed;top:0;left:0;transform:none}.item.selected{border-color:#9ccfd7;border-left-color:var(--cyan)}.item.archived{opacity:.7}.item.done{opacity:.86}.item.role-card{border-left-color:var(--role-color,var(--gold))}.item-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:0 4px 0 0}.item h3{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);margin:0;font-size:.9rem;font-weight:650;line-height:1.24;overflow:hidden}.board-column.inbox .item h3{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.item p{color:var(--muted);margin:4px 0 0;font-size:.82rem;line-height:1.28}.item-info-row{align-items:center;gap:6px;min-width:0;margin-top:6px;display:flex}.chips{flex-wrap:wrap;flex:auto;gap:4px;min-width:0;display:flex}.chips span{max-width:100%;color:var(--muted);background:#f8fafc;border:1px solid #d8e1eb;border-radius:999px;align-items:center;gap:5px;padding:1px 6px;font-size:.61rem;line-height:1.35;display:inline-flex}.chips svg{width:11px;height:11px}.chips .priority.high,.chips .priority.urgent,.action-icon.delete{color:var(--red)}.chips .priority.medium,.action-icon.archive{color:var(--gold)}.chips .status-chip,.action-icon.restore{color:var(--cyan)}.chips .done-chip,.action-icon.done{color:var(--green)}.time-badge{min-width:54px;min-height:24px;color:var(--brand);letter-spacing:0;background:linear-gradient(#ffffffd1,#ffffff8f),#b8822433;border:1px solid #b882246b;border-radius:999px;flex:none;place-items:center;padding:0 9px;font-size:.82rem;font-weight:800;display:inline-grid;box-shadow:0 5px 14px #b8822429}.item.role-card .time-badge{border-color:color-mix(in srgb, var(--role-color,var(--gold)) 56%, white);background:linear-gradient(180deg, #ffffffd6, #ffffff94), color-mix(in srgb, var(--role-color,var(--gold)) 16%, transparent)}.item-actions{align-items:flex-start;gap:2px;display:flex}.item-actions button{place-items:center;width:28px;min-height:28px;display:grid}.action-icon{border-radius:var(--radius);background:0 0;border:0;transition:background .12s,transform .12s}.action-icon:hover{background:#eef3f8;transform:translateY(-1px)}.column-add-button{border-radius:var(--radius);min-height:42px;color:var(--muted);box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #bcc9d8d6;place-items:center;display:grid}.column-add-button:hover{color:var(--brand);background:#fff;border-color:#9bb4ce}.column-add-button:disabled{cursor:not-allowed;color:#6670857a;box-shadow:none;background:#ffffff61;border-color:#bcc9d885}.column-add-form{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #d9e0e8d1;padding:10px}.column-add-form,.auth-panel,.projects-panel{gap:10px;display:grid}
.column-add-form input,.project-create input,.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:var(--surface);outline:0;padding:10px 11px}.column-add-form input:focus,.project-create input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#8db7c0;box-shadow:0 0 0 3px #159aa61f}.column-add-actions{grid-template-columns:1fr 40px;gap:8px;display:grid}.icon-button,.primary-button,.secondary-button{border-radius:var(--radius);min-height:40px}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;color:var(--ink-soft);place-items:center;display:grid}.primary-button{border:1px solid var(--brand);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:8px;padding:0 15px;display:inline-flex}.primary-button:disabled{cursor:not-allowed;opacity:.52}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.danger-button{border-radius:var(--radius);color:#fff;background:#d8435b;border:1px solid #d8435bdb;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;display:inline-flex}.danger-button:disabled{cursor:not-allowed;opacity:.56}.confirm-delete-modal{width:min(520px,100vw - 40px)}.confirm-delete-header{align-items:flex-start}.confirm-delete-title{gap:12px;min-width:0;display:flex}.confirm-delete-title p{max-width:36rem;color:var(--muted);margin:5px 0 0;font-size:.9rem;line-height:1.45}.confirm-delete-icon{color:#d8435b;background:#d8435b14;border:1px solid #d8435b38;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;display:grid}.confirm-delete-content{gap:18px;padding:18px;display:grid}.confirm-delete-body{border-radius:var(--radius);color:var(--ink);background:#d8435b0f;border:1px solid #d8435b29;gap:7px;padding:13px 14px;display:grid}.confirm-delete-body strong,.confirm-delete-body em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.confirm-delete-body span{color:#b4233a;text-transform:uppercase;font-size:.72rem;font-style:normal;font-weight:780}.confirm-delete-body strong{color:var(--ink);font-size:.98rem}.confirm-delete-body em{color:var(--muted);font-size:.88rem;font-style:normal}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-delete-actions{gap:12px}.confirm-delete-actions .secondary-button,.confirm-delete-actions .danger-button{min-width:126px}.content-grid{display:grid}.board-message{border-radius:var(--radius);color:var(--brand);background:#ffffff94;border:1px solid #b8822447;margin:0 0 10px;padding:9px 11px;font-size:.88rem;font-weight:620}.modal-backdrop{z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1018285c;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #fffffff0, #f7fafde6), var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 80px #1018283d}.item-modal{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #fffffff0, #f7fafde6), var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(880px,100%);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 24px 80px #1018283d}.completion-modal{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #fffffff0, #f7fafde6), var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);gap:14px;width:min(420px,100%);padding:18px;display:grid;box-shadow:0 24px 80px #1018283d}.password-recovery-modal{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #fffffff0, #f7fafde6), var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(460px,100%);display:grid;box-shadow:0 24px 80px #1018283d}.password-recovery-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.password-recovery-header h2{color:var(--ink);margin:0;font-size:1.18rem}.password-recovery-body{gap:14px;padding:18px;display:grid}.password-recovery-copy{color:var(--ink-soft);margin:0;font-size:.92rem}.completion-copy{color:var(--ink-soft);margin:-4px 0 0;font-size:.92rem}.completion-actions{justify-content:flex-end;gap:10px;display:flex}.modal-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.modal-header-actions{align-items:center;gap:10px;display:flex}.save-state,.modal-eyebrow,.auth-panel p,.auth-message,.form-message{color:var(--muted)}.form-message{border-radius:var(--radius);margin:0;padding:9px 11px;font-size:.86rem;font-weight:650}.form-message.error{color:var(--red);background:#d92d200f;border:1px solid #d92d2047}.form-message.success{color:var(--green);background:#13804f14;border:1px solid #13804f47}.save-state{white-space:nowrap;font-size:.82rem}.modal-eyebrow{text-transform:uppercase;margin:0 0 4px;font-size:.74rem;font-weight:700}.modal-header h2{color:var(--ink);margin:0;font-size:1.18rem}.modal-body{padding:18px}.modal-body.split{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.modal-main-fields,.modal-side-fields{gap:14px;display:grid}.modal-side-fields{border-left:1px solid var(--line-soft);padding-left:18px}.field{color:var(--muted);gap:7px;font-size:.88rem;display:grid}.field textarea{resize:vertical}.due-field>span{color:var(--muted);font-size:.88rem}.date-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.date-presets button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-alt);min-height:34px;color:var(--ink-soft)}.date-presets button:hover{color:var(--brand);border-color:#9bb4ce}.duration-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.item-todos-editor{border-top:1px solid var(--line-soft);gap:9px;padding-top:13px;display:grid}.item-todos-heading{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:.75rem;font-weight:760;display:flex}.item-todo-add{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.item-todo-add input,.item-todo-row input[type=date],.item-todo-row input[type=number],.item-todo-title{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;color:var(--ink);background:var(--surface);outline:0}.item-todo-add input{min-height:40px;padding:0 11px}.item-todo-add input:focus,.item-todo-row input:focus{border-color:#8db7c0;box-shadow:0 0 0 3px #159aa61f}.item-todos-list{gap:7px;display:grid}.item-todo-row{border:1px solid var(--line-soft);border-radius:var(--radius);background:#ffffff94;grid-template-columns:24px minmax(140px,1fr) 128px 76px 76px 32px;align-items:center;gap:6px;padding:7px;display:grid}.item-todo-check{place-items:center;display:grid}.item-todo-check input{width:16px;height:16px;accent-color:var(--brand)}.item-todo-title{min-height:34px;padding:0 9px;font-weight:640}.item-todo-row input[type=date],.item-todo-row input[type=number]{min-height:34px;padding:0 8px;font-size:.82rem}.item-todo-row.done .item-todo-title{color:var(--muted);text-decoration:line-through}.item-todo-row .action-icon{width:32px;height:32px}.item-todos-empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);background:var(--surface-alt);text-align:center;margin:0;padding:10px;font-size:.86rem}.projects-panel{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);max-width:720px;box-shadow:var(--shadow-sm);padding:18px}.projects-panel.wide{background:#ffffffbd;width:calc(100vw - 48px);max-width:none;margin-left:calc(min(1280px,100vw - 48px)/2 + -50vw + 24px)}.auth-screen{align-content:start;justify-items:center;min-height:calc(100vh - 24px);padding-top:clamp(56px,11vh,112px);display:grid}.account-status-screen{place-items:center;width:100%;min-height:calc(100vh - 150px);display:grid}.account-status-panel{text-align:center;width:min(440px,100%)}.auth-brand-image{object-fit:contain;width:108px;height:144px;margin-bottom:22px}.auth-brand-image-dark,[data-theme=dark] .auth-brand-image-light{display:none}[data-theme=dark] .auth-brand-image-dark{display:block}.auth-panel{border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#ffffffd1,#ffffffad),#f8fafcb8;border:1px solid #b9c7d894;gap:18px;width:min(440px,100%);padding:22px;display:grid;box-shadow:0 18px 46px #1018281f}.auth-loading-panel{text-align:center;justify-items:center;margin:clamp(72px,22vh,180px) auto 0}.auth-panel-heading{justify-items:center;gap:6px;display:grid}.auth-kicker{color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font-size:.76rem;font-weight:760;display:inline-flex}.auth-panel h2{color:var(--brand);text-align:center;margin:0;font-size:1.28rem;font-weight:780}.auth-panel form{gap:12px;display:grid}.project-create{grid-template-columns:1fr auto;gap:10px;display:grid}.role-create{grid-template-columns:1fr 40px auto;align-items:center}.auth-actions{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:4px;display:grid}.signup-actions{grid-template-columns:auto minmax(0,1fr)}.auth-link-button{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.hidden-submit{display:none}.input-shell{border-radius:var(--radius);min-width:0;min-height:50px;color:var(--muted);background:#fffc;border:1px solid #b9c7d8c7;align-items:center;gap:10px;padding:0 15px;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.input-shell:focus-within{background:#fffffff5;border-color:#159aa694;box-shadow:0 0 0 4px #159aa61a}.input-shell input{width:100%;min-width:0;height:48px;color:var(--ink);background:0 0;border:0;outline:0}.auth-panel .primary-button,.auth-panel .secondary-button{min-height:44px}.auth-panel .primary-button{box-shadow:0 10px 22px #0b2a5b2e}.auth-panel .secondary-button{background:#ffffff94}.auth-message{border-radius:var(--radius);background:#b8822414;border:1px solid #b882243d;margin:0;padding:10px 12px;font-size:.86rem;font-weight:650}.auth-message-success{background:#159aa61a;border-color:#159aa647}.project-row{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-alt);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.projects-toolbar{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.projects-toolbar label{min-width:220px;color:var(--muted);text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:700;display:grid}.projects-toolbar select{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;color:var(--ink-soft);text-transform:none;background:#ffffffc7;outline:0;padding:0 10px}.projects-toolbar span{color:var(--muted);font-size:.84rem;font-weight:650}.projects-create-toolbar{justify-content:flex-end;margin-bottom:14px;display:flex}.project-create-modal{width:min(560px,100vw - 40px)}.project-create-modal .modal-header p{color:var(--muted);margin:5px 0 0;font-size:.9rem;line-height:1.45}.project-create-modal-body{gap:15px;padding:18px;display:grid}.project-create-modal-actions{padding-top:3px}.project-create-modal-actions .secondary-button,.project-create-modal-actions .primary-button{min-width:118px}.projects-pagination{justify-content:flex-end;align-items:center;gap:8px;margin-top:-2px;display:flex}.projects-pagination span{min-width:92px;color:var(--muted);text-align:center;font-size:.84rem;font-weight:650}.projects-pagination .icon-button:disabled{cursor:not-allowed;opacity:.42}.projects-table-wrap{overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;min-width:1080px}.roles-table{min-width:900px}.role-color-cell{cursor:pointer;align-items:center;width:28px;height:28px;display:inline-flex;position:relative}.role-color-cell span{width:24px;height:24px;box-shadow:var(--shadow-sm);border:1px solid #10182824;border-radius:999px}.role-color-cell input{opacity:0;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.role-color-create{justify-self:center}.role-projects{gap:7px;max-width:380px;display:grid}.role-projects summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;list-style:none;display:grid}.role-projects summary::-webkit-details-marker{display:none}.role-project-name{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:680;display:block;overflow:hidden}.role-project-toggle{min-height:24px;color:var(--muted);white-space:nowrap;background:#ffffff8a;border:1px solid #b9c7d8a3;border-radius:999px;align-items:center;gap:2px;padding:0 7px 0 5px;font-size:.74rem;font-weight:760;display:inline-flex}.role-project-toggle svg{transition:transform .14s}.role-projects[open] .role-project-toggle svg{transform:rotate(180deg)}.role-projects-extra{border-left:2px solid #b8822438;gap:5px;padding-left:10px;display:grid}.role-projects-empty{color:var(--muted);font-size:.82rem;font-weight:650}.projects-table th,.projects-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #d9e0e8b8;padding:11px 10px}.projects-table th{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:760}.sort-header{color:inherit;font:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.sort-header:hover,.sort-header.active{color:var(--brand)}.sort-header span{width:10px;color:var(--gold);display:inline-block}.projects-table td{color:var(--ink-soft);font-size:.88rem}.projects-table td strong{color:var(--ink);font-weight:720}.projects-table tbody tr:hover{background:#ffffff75}.project-name-edit{grid-template-columns:minmax(180px,1fr) 32px 32px;align-items:center;gap:6px;display:grid}.project-name-edit input{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:34px;color:var(--ink);background:var(--surface);outline:0;padding:0 9px}.project-name-edit input:focus{border-color:#8db7c0;box-shadow:0 0 0 3px #159aa61f}.project-role-select{border:1px solid var(--line);border-radius:var(--radius);width:min(210px,100%);min-height:34px;color:var(--ink-soft);background:var(--surface);outline:0;padding:0 9px}.project-role-select:focus{border-color:#8db7c0;box-shadow:0 0 0 3px #159aa61f}.project-role-select:disabled{cursor:not-allowed;opacity:.58}.project-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.project-actions .action-icon,.project-name-edit .action-icon{width:32px;height:32px}[data-theme=dark] .projects-panel.wide{background:linear-gradient(#121f34d6,#0d192bb8),#0b1626b8;border-color:#667c9a6b}[data-theme=dark] .auth-panel{background:linear-gradient(#121f34e0,#0d192bc7),#0b1626c7;border-color:#667c9a6b;box-shadow:0 18px 52px #00000057}[data-theme=dark] .auth-panel h2{color:var(--ink)}[data-theme=dark] .input-shell{color:var(--muted);background:linear-gradient(#121f34db,#0d192bc2),#0b1626d1;border-color:#667c9a70}[data-theme=dark] .input-shell:focus-within{background:#0d192bf0;border-color:#32c3d07a;box-shadow:0 0 0 4px #32c3d01c}[data-theme=dark] .auth-panel .secondary-button{color:var(--ink-soft);background:#101d31b8;border-color:#667c9a57}[data-theme=dark] .auth-message{background:#d9a4411a;border-color:#d9a44157}[data-theme=dark] .projects-table th,[data-theme=dark] .projects-table td{border-bottom-color:#667c9a57}[data-theme=dark] .projects-table tbody tr:hover{background:#79a9ff14}[data-theme=dark] .projects-table td strong{color:var(--ink)}[data-theme=dark] .projects-toolbar select{color:var(--ink);background:linear-gradient(#121f34db,#0d192bc2),#0b1626d1;border-color:#667c9a70}[data-theme=dark] .projects-toolbar select:focus{border-color:#32c3d07a;box-shadow:0 0 0 3px #32c3d01f}[data-theme=dark] .project-role-select{color:var(--ink);background:linear-gradient(#121f34db,#0d192bc2),#0b1626d1;border-color:#667c9a70}[data-theme=dark] .project-role-select:focus{border-color:#32c3d07a;box-shadow:0 0 0 3px #32c3d01f}[data-theme=dark] .role-color-cell span{border-color:#ffffff3d;box-shadow:inset 0 0 0 1px #00000038,0 0 0 3px #101d31b8}[data-theme=dark] .role-project-toggle{color:var(--ink-soft);background:#101d31b8;border-color:#667c9a57}[data-theme=dark] .role-projects-extra{border-left-color:#d9a44142}[data-theme=dark] .item-todo-row,[data-theme=dark] .item-todos-empty{background:#0d192b9e;border-color:#667c9a57}[data-theme=dark] .item-todo-add input,[data-theme=dark] .item-todo-row input[type=date],[data-theme=dark] .item-todo-row input[type=number],[data-theme=dark] .item-todo-title{color:var(--ink);background:linear-gradient(#121f34db,#0d192bc2),#0b1626d1;border-color:#667c9a70}.recurring-create{gap:12px;display:grid}.recurring-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.recurring-modal{width:min(980px,100vw - 40px)}.recurring-modal .recurring-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.recurring-modal .recurring-title-field,.recurring-modal .recurring-description-field{grid-column:span 3}.recurring-create{grid-template-columns:1fr auto;align-items:end}.recurring-fields{grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(130px,1fr));gap:10px;display:grid}.recurring-fields label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:6px;font-size:.72rem;font-weight:760;display:grid}.recurring-fields input,.recurring-fields select{border-radius:var(--radius);min-height:38px;color:var(--ink);letter-spacing:0;text-transform:none;background:#ffffffb8;border:1px solid #b9c7d8d1;padding:0 10px;font-size:.88rem;font-weight:650}.recurring-description-field{grid-column:span 2}.recurring-table td:first-child strong{text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:block;overflow:hidden}.recurring-description{max-width:320px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;display:block;overflow:hidden}.recurring-status{border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:.72rem;font-weight:820;display:inline-flex}.recurring-status.active{color:#0f6b48;background:#2fb58224}.recurring-status.paused{color:#8a6415;background:#d9a44129}[data-theme=dark] .recurring-fields input,[data-theme=dark] .recurring-fields select{color:var(--ink);background:#0d192bc2;border-color:#748bab7a}[data-theme=dark] .recurring-status.active{color:#9df0c9;background:#2fb5822e}[data-theme=dark] .recurring-status.paused{color:#f4d38a;background:#d9a4412e}@media (max-width:980px){.recurring-create{grid-template-columns:1fr}.recurring-fields{grid-template-columns:1fr 1fr}.recurring-description-field,.recurring-title-field{grid-column:span 2}}@media (max-width:620px){.recurring-fields{grid-template-columns:1fr}.recurring-description-field,.recurring-title-field{grid-column:auto}}
@media (max-width:760px){.shell{padding:0 16px 16px}.app-header{flex-wrap:wrap;width:calc(100vw - 32px);margin-top:12px;margin-left:0}.header-nav{flex-wrap:wrap;justify-content:flex-start}.header-kpis{flex-wrap:wrap;order:3;width:100%;min-width:0;position:static;transform:none}.header-kpi-hours-stack{flex-wrap:wrap;justify-content:center}.user-menu-shell{margin-left:auto}.user-menu-email{max-width:150px}.header-kpi-row{gap:8px}.board-panel,.calendar-panel,.monitoring-panel,.projects-panel.wide{width:calc(100vw - 32px);margin-left:calc(min(1280px,100vw - 32px)/2 + -50vw + 16px)}.board-toolbar{min-width:1320px}.calendar-grid{grid-template-columns:repeat(7,minmax(42px,1fr));gap:5px}.calendar-month-control{grid-template-columns:28px minmax(142px,auto) 28px}.calendar-month-nav{width:28px;height:28px}.calendar-month-button{min-height:32px;padding:0 6px;font-size:1.05rem}.calendar-day{grid-template-columns:1fr;gap:3px;min-height:64px;padding:5px;overflow:hidden}.calendar-day span{font-size:.72rem;line-height:1}.calendar-day-metrics{grid-template-columns:18px 18px;justify-content:center;align-items:center;gap:3px;width:100%;min-width:0}.calendar-day strong{width:18px;height:18px;box-shadow:none;border-width:1px;font-size:.58rem;line-height:1}.calendar-day-duration{min-width:0}.calendar-day-duration .role-pie.compact{width:18px;height:18px}.calendar-day-duration .role-pie-disc{border-width:1px;box-shadow:inset 0 0 0 1px #1018280f}.calendar-day-duration em{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;max-width:100%;font-size:.54rem;line-height:1.05;overflow:hidden}.calendar-day-content,.calendar-day-summary{text-align:center;grid-template-columns:1fr;justify-items:center}.calendar-day-summary-content{width:100%}.calendar-day-legend{text-align:left;width:100%}.kpi-strip,.chart-grid,.monitoring-pie-grid{grid-template-columns:1fr}.hours-trend-card{width:100%;min-width:0}.hours-trend-header,.hours-trend-stats{grid-template-columns:1fr}.hours-trend-header{display:grid}.hours-trend-controls{justify-content:flex-start}.hours-scale-switch,.hours-horizon-control,.hours-role-area-toggle{width:100%}.hours-horizon-control{justify-content:flex-start}.hours-role-area-toggle{justify-self:stretch}.projects-toolbar{flex-direction:column;align-items:stretch}.projects-toolbar label{min-width:0}.board-columns{grid-template-columns:1fr;min-width:0}.auth-panel form,.auth-actions,.project-create{flex-direction:column;display:flex}.auth-screen{min-height:calc(100vh - 16px);padding-top:44px}.account-status-screen{min-height:calc(100vh - 170px)}.auth-brand-image{width:84px;height:112px;margin-bottom:18px}.auth-panel{width:100%;padding:18px}.modal-backdrop{padding:14px}.item-modal{max-height:calc(100vh - 28px)}.modal-header{align-items:flex-start}.confirm-delete-title{gap:10px}.confirm-delete-content{padding:14px}.confirm-delete-actions{grid-template-columns:1fr;display:grid}.confirm-delete-actions .secondary-button,.confirm-delete-actions .danger-button{width:100%}.modal-body.split{grid-template-columns:1fr}.modal-side-fields{border-left:0;border-top:1px solid var(--line-soft);padding-top:14px;padding-left:0}.item{grid-template-columns:1fr}}

