@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#09090b;color:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;min-height:100vh;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.calendar-toolbar{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.25rem}.calendar-nav-btn{background:linear-gradient(145deg,#fffffff5,#e9f3ee);border:1px solid #5f8f7c40;border-radius:999px;box-shadow:0 8px 14px #3e615424,inset 0 1px 0 #ffffffdb;color:#2c4d42;cursor:pointer;font-size:1.35rem;font-weight:700;height:2.2rem;line-height:1;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;width:2.2rem}.calendar-nav-btn:hover{background:linear-gradient(145deg,#f8fcfa,#e5f0ea);box-shadow:0 10px 18px #3e615433,inset 0 1px 0 #ffffffe6;transform:translateY(-1px) scale(1.03)}.calendar-nav-btn:active{box-shadow:0 5px 10px #3e615429;transform:translateY(0) scale(.98)}.calendar-today-btn{background:linear-gradient(145deg,#eff8f3,#e1efe8);border:1px solid #5f8f7c40;border-radius:999px;box-shadow:0 8px 14px #3e61541f;color:#2e5044;cursor:pointer;display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin:0 auto .8rem;padding:.38rem .82rem;text-transform:uppercase;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.calendar-today-btn:hover{background:linear-gradient(145deg,#f7fcfa,#e5f2ec);box-shadow:0 11px 18px #3e615429;transform:translateY(-1px)}.calendar-today-btn:active{box-shadow:0 6px 11px #3e615421;transform:translateY(0)}.calendar-title{color:#f8fafc;font-size:1.12rem;letter-spacing:-.02em;margin:0;text-align:center}.calendar-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.calendar-grid.calendar-motion-next{animation:cozy-slide-next .26s cubic-bezier(.23,1,.32,1)}.calendar-grid.calendar-motion-prev{animation:cozy-slide-prev .26s cubic-bezier(.23,1,.32,1)}.calendar-grid.calendar-motion-today{animation:cozy-pop .25s cubic-bezier(.2,.9,.2,1)}.calendar-day-name{color:#6f847c;font-weight:700;padding:.25rem 0;text-align:center}.calendar-day{align-items:center;background:#27272a99;border:1px solid #ffffff0d;border-radius:6px;color:#f8fafc;display:flex;font-size:.9rem;height:2rem;justify-content:center;transition:background .18s ease,transform .15s ease,box-shadow .18s ease}.calendar-outside-month{background:#18181b4d;color:#52525b}.calendar-day:hover{background:#3f3f46cc;box-shadow:0 4px 10px #0000004d;cursor:pointer;transform:translateY(-1px)}.cutoff-a{background:linear-gradient(180deg,#6366f14d,#6366f11a);box-shadow:inset 0 0 0 2px #6366f180;color:#fff}.cutoff-b{background:linear-gradient(180deg,#8b5cf64d,#8b5cf61a);box-shadow:inset 0 0 0 2px #8b5cf680;color:#fff}.calendar-absent{background:#ef4444cc!important;box-shadow:inset 0 0 0 2px #dc2626e6!important}.calendar-absent,.calendar-leave{color:#fff!important;font-weight:700}.calendar-leave{background:#a78bfabf!important;box-shadow:inset 0 0 0 2px #8b5cf6d9!important}.calendar-holiday{background:#34a86ebf!important;box-shadow:inset 0 0 0 2px #228652d9!important;color:#fff!important;font-weight:700}.calendar-suspended{background:#fb923ccc!important;box-shadow:inset 0 0 0 2px #ea580ce6!important;color:#fff!important;font-weight:700}.calendar-day:active{transform:translateY(1px) scale(.98)}@keyframes cozy-slide-next{0%{opacity:0;transform:translateX(16px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes cozy-slide-prev{0%{opacity:0;transform:translateX(-16px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes cozy-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes calendar-entrance{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes today-pulse{0%{box-shadow:0 0 0 0 #6366f166}70%{box-shadow:0 0 0 6px #6366f100}to{box-shadow:0 0 0 0 #6366f100}}.calendar-container{animation:calendar-entrance .5s cubic-bezier(.2,.8,.2,1) forwards;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#18181b66;border:1px solid #ffffff14;border-radius:16px;box-shadow:0 10px 26px #0006;margin:0 auto;max-width:100%;padding:.75rem;transition:box-shadow .3s ease,transform .3s ease;width:100%}.calendar-container:hover{box-shadow:0 13px 28px #6366f126;transform:translateY(-2px)}.calendar-today{animation:today-pulse 2s infinite;background:#6366f1;border:1px solid #8b5cf6;color:#fff;font-weight:700}.custom-dropdown{max-width:100%;position:relative;width:220px}.dropdown-header{align-items:center;background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:flex;font-size:.95rem;justify-content:space-between;padding:.6rem 1rem;-webkit-user-select:none;user-select:none}.dropdown-arrow{font-size:.7rem;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}@keyframes dropdown-enter{0%{opacity:0;transform:scaleY(.95) translateY(-5px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.dropdown-list-container{animation:dropdown-enter .2s cubic-bezier(.2,.8,.2,1) forwards;background:#1e293b;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0009;left:0;margin-top:.5rem;max-height:250px;overflow-x:hidden;overflow-y:auto;position:absolute;top:100%;transform-origin:top center;width:100%;z-index:100}.dropdown-list{list-style:none;margin:0;padding:.5rem 0}.dropdown-item{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:.95rem;justify-content:space-between;padding:.5rem 1rem}.dropdown-item:hover{background:#ffffff0d}.dropdown-item.selected{background:#6366f126;color:var(--primary);font-weight:500}.project-name{flex-grow:1;overflow:hidden;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.project-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease}.dropdown-item:hover .project-actions{opacity:1}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:2px 4px;transition:background .2s}.action-btn:hover{background:#ffffff1a}:root{--bg-main:#09090b;--surface:#18181b99;--surface-strong:#27272acc;--surface-hover:#3f3f46b3;--border:#ffffff14;--border-strong:#ffffff26;--text:#f8fafc;--text-dim:#cbd5e1;--muted:#94a3b8;--accent:#6366f1;--accent-hover:#4f46e5;--accent-glow:#6366f180;--accent-secondary:#8b5cf6;--ring:#6366f166;--radius-sm:8px;--radius:16px;--radius-lg:24px;--gap:1.5rem;--container-width:1240px;--shadow-soft:0 10px 40px -10px #000000b3;--shadow-glow:0 0 20px #6366f140;--glass-blur:blur(16px)}.App{align-items:center;background-attachment:fixed;background-color:#09090b;background-color:var(--bg-main);background-image:radial-gradient(circle at 15% 50%,#6366f126,#0000 40%),radial-gradient(circle at 85% 30%,#8b5cf626,#0000 40%);color:#f8fafc;color:var(--text);display:flex;flex-direction:column;font-family:Inter,sans-serif;min-height:100vh;padding:1rem 2rem}.app-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:340px 1fr;max-width:1400px;width:100%}.app-sidebar{position:relative}.app-header,.app-sidebar{gap:1rem}.app-header,.app-sidebar,.brand{display:flex;flex-direction:column}.brand{gap:.25rem}.brand h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.04em;margin:0}.subtitle{color:#94a3b8;color:var(--muted);font-size:1rem;font-weight:500;margin:0}.db-status{align-items:center;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-top:.75rem;padding:.35rem .75rem;text-transform:uppercase}.db-status-idle{background:#94a3b81a;color:#94a3b8}.db-status-loading,.db-status-saving{background:#facc151a;border-color:#facc1533;color:#facc15}.db-status-success{background:#4ade801a;border-color:#4ade8033;color:#4ade80}.db-status-warning{background:#fb923c1a;border-color:#fb923c33;color:#fb923c}.db-status-error{background:#f871711a;border-color:#f8717133;color:#f87171}.header-actions{display:flex;flex-direction:column;gap:.75rem}.user-info{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#18181b99;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:.75rem;padding:.75rem}.user-avatar{border:1px solid #ffffff14;border:1px solid var(--border);border-radius:50%;height:40px;object-fit:cover;width:40px}.user-details{display:flex;flex-direction:column;gap:.2rem}.user-name{color:#f8fafc;color:var(--text);font-size:.9rem;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-signout{background:#0000;border:none;color:#94a3b8;color:var(--muted);cursor:pointer;font-size:.8rem;padding:0;text-align:left;transition:color .2s}.btn-signout:hover{color:#6366f1;color:var(--accent)}@keyframes rgb-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.btn-signin{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#f8fafc;color:var(--text);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.75rem;isolation:isolate;justify-content:center;overflow:hidden;padding:.6rem 1rem;position:relative;transition:all .2s ease;width:100%}.btn-signin:before{animation:rgb-spin 3s linear infinite;background:conic-gradient(from 0deg,#0000 0,#0000 60%,#d8b4fe 70%,#fbcfe8 85%,#f472b6 100%);content:"";height:1000px;left:50%;position:absolute;top:50%;width:1000px;z-index:-2}.btn-signin:after{background:#27272a;border-radius:6px;border-radius:calc(var(--radius-sm) - 2px);content:"";inset:2px;position:absolute;transition:background .2s ease;z-index:-1}.btn-signin:hover:after{background:#3f3f46}.btn-signin>*{position:relative;z-index:1}.btn-primary{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--accent),var(--accent-secondary));border:none;border-radius:16px;border-radius:var(--radius);box-shadow:0 0 20px #6366f140;box-shadow:var(--shadow-glow);color:#fff;cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.02em;padding:.7rem 1.5rem;transition:all .2s ease}.btn-primary:hover{box-shadow:0 0 25px #6366f166;filter:brightness(1.1);transform:translateY(-2px) scale(1.02)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#27272acc;background:var(--surface-strong);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f8fafc;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .2s ease}.btn-secondary:hover{background:#3f3f46b3;background:var(--surface-hover);border-color:#ffffff26;border-color:var(--border-strong);transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-danger{background:#f871711a;border-color:#f871714d;color:#f87171}.btn-danger:hover{background:#f8717133;border-color:#f8717180}.app-main{display:flex;flex-direction:column;min-width:0;width:100%}.panel{backdrop-filter:blur(16px);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:blur(16px);-webkit-backdrop-filter:var(--glass-blur);background:#18181b99;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 10px 40px -10px #000000b3;box-shadow:var(--shadow-soft);padding:1.5rem}input,select{background:#27272acc;background:var(--surface-strong);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f8fafc;color:var(--text);font-family:inherit;font-size:.95rem;padding:.8rem 1rem;transition:all .2s ease}input:focus,select:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px #6366f166;box-shadow:0 0 0 3px var(--ring);outline:none}select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.tasks-panel{background:#0000;border:none;box-shadow:none;padding:0}.tasks-header,.tasks-panel{display:flex;flex-direction:column}.tasks-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#09090bcc;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius-lg);flex-shrink:0;gap:1.25rem;margin-bottom:1.5rem;padding:1rem 1.25rem;position:relative;z-index:10}.tasks-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.tasks-header-top h2{font-size:1.5rem;font-weight:700;margin:0}.report-meta-inputs{grid-gap:1rem;align-items:end;background:#0003;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1rem}.meta-field{display:flex;flex-direction:column;gap:.4rem}.meta-field span{color:#94a3b8;color:var(--muted);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.name-field-row{align-items:center;display:flex;gap:.5rem}.name-field-row .name-edit-input,.name-field-row select{flex:1 1}.btn-icon{align-items:center;background:#27272acc;background:var(--surface-strong);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f8fafc;color:var(--text);cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:2.75rem;justify-content:center;transition:all .2s ease;width:2.75rem}.btn-icon:hover{background:#3f3f46b3;background:var(--surface-hover);border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent)}.meta-period-pill{background:#27272acc;background:var(--surface-strong);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:.75rem 1rem}.meta-period-pill span{color:#94a3b8;color:var(--muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.meta-period-pill strong{color:#f8fafc;color:var(--text);font-size:1rem;font-weight:600;word-break:break-word}.task-controls{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:.5rem 0}.task-controls-left{flex-wrap:wrap}.task-controls-left,.task-controls-right{align-items:center;display:flex;gap:.75rem}.task-filter-label{color:#94a3b8;color:var(--muted);font-size:.95rem;font-weight:500}.project-add-controls{align-items:center;display:flex;gap:.5rem}.task-list{flex:1 1;padding-right:.5rem}.task-list ul{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));list-style:none;margin:0;padding:0 0 1.5rem}.task-item{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#18181b99;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);display:flex;flex-direction:column;gap:1rem;justify-content:space-between;padding:1.25rem;transition:all .2s ease}.task-item:hover{background:#3f3f46b3;background:var(--surface-hover);border-color:#ffffff26;border-color:var(--border-strong);transform:translateX(4px)}.task-text{color:#f8fafc;color:var(--text);font-size:1rem;font-weight:500}.task-date{color:#94a3b8;color:var(--muted);font-size:.85rem;white-space:nowrap}.task-meta{align-items:center;display:flex;gap:.75rem;margin-top:.4rem}.task-project{background:#6366f126;border:1px solid #6366f14d;border-radius:999px;color:#a5b4fc;font-size:.8rem;font-weight:600;padding:.25rem .6rem}.task-hours{color:#94a3b8;color:var(--muted);font-size:.85rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.modal{background:#09090b;background:var(--bg-main);border:1px solid #ffffff26;border:1px solid var(--border-strong);border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 10px 40px -10px #000000b3,inset 0 0 0 1px #ffffff0d;box-shadow:var(--shadow-soft),0 0 0 1px #ffffff0d inset;display:flex;flex-direction:column;gap:1.25rem;padding:2rem;width:min(560px,calc(100vw - 2rem))}.modal.modal-large{max-height:90vh;overflow-y:auto;width:min(800px,calc(100vw - 2rem))}.modal h3{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.modal-row{align-items:flex-end;display:flex;gap:1rem}.modal-row label{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.modal-row label span{color:#94a3b8;color:var(--muted);font-size:.9rem;font-weight:500}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.btn{background:#27272acc;background:var(--surface-strong);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#f8fafc;color:var(--text);cursor:pointer;font-weight:600;padding:.6rem 1rem;transition:all .2s}.btn:hover{background:#3f3f46b3;background:var(--surface-hover)}.date-task-modal-body{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 280px}.date-task-text-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.task-modal-text-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.cutoff-controls{align-items:center;background:#0003;border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.75rem;padding:.5rem .75rem}.cutoff-controls label{color:#cbd5e1;color:var(--text-dim);font-size:.95rem;font-weight:600}.cutoff-controls select{padding:.5rem 2rem .5rem .75rem}.cutoff-legend{border-top:1px solid #ffffff14;border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem;margin-top:.5rem;padding-top:.5rem;width:100%}.cutoff-legend,.legend-item{align-items:center;display:flex}.legend-item{color:#94a3b8;color:var(--muted);font-size:.85rem;gap:.5rem}.swatch{border-radius:4px;height:14px;width:14px}.swatch.a{background:#6366f133;border:1px solid #6366f166}.swatch.b{background:#8b5cf633;border:1px solid #8b5cf666}.react-calendar{background:#0000!important;border:none!important;font-family:inherit!important;width:100%}.react-calendar__navigation button{background:none;border-radius:8px;border-radius:var(--radius-sm);color:#f8fafc!important;color:var(--text)!important;font-size:1.1rem;min-width:44px}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background:#27272acc!important;background:var(--surface-strong)!important}.react-calendar__month-view__weekdays{color:#94a3b8;color:var(--muted);font-size:.8rem;font-weight:600;text-transform:uppercase}.react-calendar__month-view__days__day{color:#f8fafc!important;color:var(--text)!important}.react-calendar__tile{border-radius:8px!important;border-radius:var(--radius-sm)!important;padding:.75rem .5rem!important;transition:all .2s}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background:#27272acc!important;background:var(--surface-strong)!important}.react-calendar__tile--now{background:#3f3f46b3!important;background:var(--surface-hover)!important;color:#6366f1!important;color:var(--accent)!important;font-weight:700}.react-calendar__tile--active{background:#6366f1!important;background:var(--accent)!important;box-shadow:0 0 20px #6366f140;box-shadow:var(--shadow-glow);color:#fff!important}.period-a{background:#6366f126;border:1px solid #6366f133}.period-b{background:#8b5cf626;border:1px solid #8b5cf633}.has-tasks{position:relative}.has-tasks:after{background-color:#6366f1;background-color:var(--accent);border-radius:50%;bottom:4px;box-shadow:0 0 5px #6366f1;box-shadow:0 0 5px var(--accent);content:"";height:6px;left:50%;position:absolute;transform:translateX(-50%);width:6px}.preview-modal{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#18181b99;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius-lg);box-shadow:0 10px 40px -10px #000000b3;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;height:min(90vh,900px);overflow:hidden;width:min(1200px,calc(100vw - 2rem))}.preview-modal-toolbar{background:#0003;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);flex-shrink:0;gap:.75rem;justify-content:space-between;padding:1rem 1.5rem}.preview-modal-actions,.preview-modal-toolbar{align-items:center;display:flex;flex-wrap:wrap}.preview-modal-actions{gap:.5rem}.preview-modal-toolbar h3{color:#f8fafc;color:var(--text);font-size:1.25rem;margin:0}.preview-frame{background:#e2e8f0;border:0;height:100%;overflow:auto;padding:1.5rem;width:100%}.preview-runtime-summary{grid-gap:1rem;background:#27272acc;background:var(--surface-strong);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));padding:1rem 1.5rem}.preview-summary-item{background:#18181b99;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem}.preview-summary-item span{color:#94a3b8;color:var(--muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.preview-summary-item strong{color:#f8fafc;color:var(--text);font-size:.95rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{animation:fade-in .2s ease-out forwards}.date-task-modal-container,.modal,.preview-modal{animation:modal-pop .3s cubic-bezier(.175,.885,.32,1.275) forwards}.task-item{animation:slide-up-fade .35s cubic-bezier(.2,.8,.2,1) backwards}.task-item:first-child{animation-delay:.05s}.task-item:nth-child(2){animation-delay:.1s}.task-item:nth-child(3){animation-delay:.15s}.task-item:nth-child(4){animation-delay:.2s}.task-item:nth-child(5){animation-delay:.25s}.task-item:nth-child(6){animation-delay:.3s}.task-item:nth-child(7){animation-delay:.35s}.task-item:nth-child(8){animation-delay:.4s}.task-item:nth-child(9){animation-delay:.45s}.task-item:nth-child(n+10){animation-delay:.5s}.app-footer{color:#94a3b8;color:var(--muted);font-size:.82rem;margin-top:auto;max-width:1400px;padding:1rem 0 .5rem;text-align:center;width:100%}@media (max-width:768px){.app-footer{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#09090bd9;border-top:1px solid #ffffff14;border-top:1px solid var(--border);bottom:0;left:0;margin-top:1rem;max-width:100%;padding:.6rem 1rem;position:sticky;right:0;z-index:50}}@media (hover:none){.project-actions{opacity:1}.task-item:hover{transform:none}}@media (max-width:1024px){.app-layout{grid-template-columns:1fr}.app-sidebar{order:1;position:static}.app-main{order:2}}@media (max-width:768px){.App{padding:.75rem}.tasks-header{gap:1rem;padding:.875rem}.tasks-header-top h2{font-size:1.25rem}.report-meta-inputs,.task-list ul{grid-template-columns:1fr}.preview-runtime-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.task-controls{align-items:stretch;flex-direction:column}.task-controls-left{flex-wrap:wrap}.task-controls-right{flex-wrap:wrap;justify-content:space-between}.preview-modal-toolbar{padding:.75rem 1rem}.preview-modal-toolbar h3{font-size:1rem}.meta-period-pill{grid-column:1/-1}.btn-primary{font-size:.95rem;padding:.6rem 1rem}.modal{padding:1.25rem}.modal h3{font-size:1.25rem}.modal-actions{flex-wrap:wrap}.modal-row{flex-direction:column}.date-task-modal-body,.date-task-text-grid,.task-modal-text-grid{grid-template-columns:1fr}.date-task-modal-container{padding:1rem!important}}@media (max-width:480px){.App{padding:.5rem}.app-layout{gap:1rem}.tasks-header{border-radius:16px;border-radius:var(--radius);margin-bottom:1rem;padding:.75rem}.preview-runtime-summary{grid-template-columns:1fr}.task-controls-right{gap:.5rem}.task-total-count{font-size:.85rem}.brand h1{font-size:1.5rem}.preview-modal{border-radius:16px;border-radius:var(--radius)}}@media print{body{background:#fff;color:#000}.app-layout{display:none!important}.modal-overlay{background:none!important;display:block!important;left:0!important;padding:0!important;position:absolute!important;top:0!important}.modal-content.print-preview-modal{border:none!important;box-shadow:none!important;height:auto!important;margin:0!important;max-width:100%!important;padding:0!important;width:100%!important}.modal-header{display:none!important}.preview-container{height:auto!important;overflow:visible!important;padding:0!important}.docx-wrapper{background:#0000!important;padding:0!important}.docx-wrapper>section.docx{box-shadow:none!important;margin:0!important}}
/*# sourceMappingURL=main.e1311905.css.map*/