@import url(https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap);:root{--bg:#f6f7fa;--bg-deep:#eceff4;--surface:#fff;--surface-soft:#f7f8fb;--text:#1d2a3b;--text-soft:#6a778a;--border:#d9dee8;--primary:#1f3c63;--primary-strong:#122744;--accent:#f0ba1f;--accent-soft:#fff4cc;--danger:#b83a3a;--shadow:0 14px 30px #14233b14;--radius:16px}*,:after,:before{box-sizing:border-box}#root,body,html{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(80rem 30rem at -20% -25%,#1e3c6314,#0000 45%),radial-gradient(70rem 30rem at 120% 0,#f0ba1f24,#0000 50%),linear-gradient(180deg,#f6f7fa,#eceff4);background:radial-gradient(80rem 30rem at -20% -25%,#1e3c6314,#0000 45%),radial-gradient(70rem 30rem at 120% 0,#f0ba1f24,#0000 50%),linear-gradient(180deg,var(--bg) 0,var(--bg-deep) 100%);color:#1d2a3b;color:var(--text);font-family:Public Sans,Segoe UI,Arial,sans-serif;margin:0}h1,h2,h3,h4{font-family:Sora,Segoe UI,Arial,sans-serif;letter-spacing:-.01em;margin:0}p{margin:0}button,input,select{font:inherit}.page-animate{animation:page-in .42s ease}.auth-shell{display:grid;min-height:100vh;padding:28px;place-items:center}.auth-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:22px;box-shadow:0 14px 30px #14233b14;box-shadow:var(--shadow);padding:32px;width:min(460px,100%)}.eyebrow{color:#f0ba1f;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-title{font-size:clamp(28px,4vw,34px);line-height:1.05;margin-top:8px}.auth-subtitle{color:#6a778a;color:var(--text-soft);margin-top:10px}.form-grid{grid-gap:14px;display:grid;gap:14px;margin-top:24px}.form-grid-tight{margin-top:0}.quote-form-stack{grid-gap:14px;display:grid;gap:14px}.quote-section-card{background:linear-gradient(180deg,#fff,#fafcff);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 14px #14233b0d;overflow:hidden;padding:20px}.quote-section-head{align-items:center;background:linear-gradient(135deg,#1e3560,#122744);border-radius:16px 16px 0 0;color:#fff;display:flex;gap:10px;margin:-20px -20px 18px;padding:13px 20px}.quote-section-head>svg{flex-shrink:0;opacity:.8}.quote-section-head strong{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.quote-section-head-sub{color:#ffffff85;font-size:11px;margin-left:auto;white-space:nowrap}.quote-section-fields{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.items-editor-head{align-items:center;background:linear-gradient(135deg,#243e6e,#162c52);border-radius:12px 12px 0 0;color:#fff;display:flex;gap:10px;margin:-16px -16px 4px;padding:12px 16px}.items-editor-head>svg{flex-shrink:0;opacity:.75}.items-editor-head strong{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.items-editor-head span{color:#ffffff80;font-size:11px;margin-left:auto}.discount-rows{grid-gap:8px;display:grid;gap:8px;margin-top:10px}.discount-row-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 160px 36px}.discount-row-remove{border-color:#e052524d!important;color:#e05252!important;padding:6px}.discount-add-btn{align-items:center;border-color:#1557a740!important;color:#1f3c63!important;color:var(--primary)!important;display:flex;font-size:13px;gap:6px;margin-top:10px;width:-webkit-fit-content;width:fit-content}.quote-create-card{align-items:stretch;display:flex;flex-direction:column;gap:8px;padding:16px 20px}.quote-create-error{color:#b83a3a;color:var(--danger,#dc2626);font-size:13px}.quote-create-btn{align-items:center;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.02em;padding:10px 40px;white-space:nowrap;width:100%}.result-card-head{border-radius:16px 16px 0 0}@media (max-width:900px){.quote-section-fields{grid-template-columns:1fr 1fr}}@media (max-width:600px){.quote-section-fields{grid-template-columns:1fr}.quote-section-head-sub{display:none}}.quotes-layout>.form-grid{align-content:start;background:linear-gradient(180deg,#fff,#fafcff);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px #14233b0d;padding:20px}.field{grid-gap:6px;display:grid;gap:6px}.field label{color:#4a5e7a;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.input,.select{background:#f7f8fb;background:var(--surface-soft);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:10px;color:#1d2a3b;color:var(--text);padding:11px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.input:focus,.select:focus{border-color:#1f3c63;border-color:var(--primary);box-shadow:0 0 0 3px #124a9b24;outline:none}.btn{border:0;border-radius:11px;cursor:pointer;font-weight:600;padding:11px 14px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:linear-gradient(135deg,#1f3c63,#122744);background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 10px 20px #09336f33;color:#fff}.btn-secondary{background:linear-gradient(135deg,#177f74,#0a5f56);box-shadow:0 10px 20px #0a5f5633;color:#fff}.btn-ghost{background:#f0f4f8;border:1px solid #d9dee8;border:1px solid var(--border);color:#1d2a3b;color:var(--text)}.error-text{color:#b83a3a;color:var(--danger);font-size:13px;font-weight:600}.workspace-shell{display:grid;grid-template-columns:260px 1fr;height:100vh;overflow:hidden;position:relative}.workspace-sidebar{background:linear-gradient(180deg,#f3f5f8,#eceff4);border-right:1px solid #d9dee8;border-right:1px solid var(--border);gap:18px;height:100%;overflow-y:auto;padding:16px 14px}.sidebar-brand,.workspace-sidebar{display:flex;flex-direction:column}.sidebar-brand{align-items:center;border-bottom:1px solid #d9dee8;border-bottom:1px solid var(--border);gap:8px;padding:10px 8px 12px;text-align:center}.sidebar-overlay{display:none}.sidebar-brand-logo{display:block;height:auto;object-fit:contain;width:min(150px,100%)}.sidebar-brand-text{grid-gap:2px;display:grid;gap:2px;justify-items:center}.sidebar-brand-text strong{color:#0f5fa8;font-size:15px}.sidebar-brand-text span{color:#6a778a;color:var(--text-soft);font-size:12px}.sidebar-groups{grid-gap:12px;display:grid;gap:12px}.sidebar-group-title{color:#8a95a8;font-size:11px;font-weight:800;letter-spacing:.08em;margin:0 8px 6px;text-transform:uppercase}.sidebar-links{grid-gap:5px;display:grid;gap:5px}.sidebar-link{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#39485d;cursor:pointer;display:flex;font-weight:700;gap:10px;padding:10px 12px;text-align:left;transition:all .2s ease}.sidebar-link:hover{background:#1f3c6314}.sidebar-link.active{background:#fff4cc;background:var(--accent-soft);border-color:#f0d36f;box-shadow:inset 3px 0 0 #f0ba1f;box-shadow:inset 3px 0 0 var(--accent);color:#273449}.sidebar-link-icon{background:#1227440f;border-radius:10px;color:#355078;display:grid;flex-shrink:0;height:34px;place-items:center;transition:inherit;width:34px}.sidebar-link-icon svg{height:18px;width:18px}.sidebar-link-label{flex:1 1}.sidebar-link:hover .sidebar-link-icon{background:#1f3c6324;color:#1f3c63}.sidebar-link.active .sidebar-link-icon{background:linear-gradient(135deg,#fff6c8,#f4d35c);box-shadow:0 8px 18px #d0ab2638;color:#1c3152}.sidebar-footer{grid-gap:10px;border-top:1px solid #d9dee8;border-top:1px solid var(--border);display:grid;gap:10px;margin-top:auto;padding-top:12px}.sidebar-user{align-items:center;display:flex;gap:10px;padding:8px}.sidebar-user-meta{grid-gap:2px;display:grid;gap:2px}.sidebar-avatar{background:#dfe5ef;border-radius:50%;color:#45566e;display:grid;font-weight:800;height:36px;place-items:center;width:36px}.sidebar-user strong{display:block;font-size:14px}.sidebar-user p{color:#0f5fa8;font-size:12px;font-weight:700}.sidebar-user span{color:#6a778a;color:var(--text-soft);font-size:11px}.sidebar-footer .btn-ghost{width:100%}.sidebar-logout-btn{align-items:center;border-color:#e0525240!important;color:#e05252!important;display:flex;gap:8px;justify-content:center}.sidebar-logout-btn:hover{background:#e052521a!important;border-color:#e0525273!important}.sidebar-logout-btn svg{flex-shrink:0;opacity:.85}.workspace-main{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:18px 20px 24px}.workspace-main:has(.quotes-page-recent){height:100%;overflow:hidden}.workspace-topbar{align-items:center;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;position:relative}.workspace-topbar-left{align-items:center;display:flex;gap:12px}.sidebar-hamburger{background:#fff;background:var(--surface);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:10px;cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:5px;height:38px;justify-content:center;padding:8px;width:38px}.sidebar-hamburger span{background:#1d2a3b;background:var(--text);border-radius:2px;display:block;height:2px;transition:all .2s ease}.workspace-title{font-size:clamp(26px,4vw,36px);margin-top:4px}.workspace-datetime{align-items:center;color:#6a778a;color:var(--text-soft);display:flex;font-size:14px;font-weight:600;gap:12px}.workspace-datetime strong{background:#1f3048;border-radius:8px;color:#fff;letter-spacing:.02em;padding:6px 10px}.workspace-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.metric-card{grid-gap:8px;background:#ffffffeb;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 18px #14233b0a;display:grid;gap:8px;min-height:112px;place-content:center;text-align:center}.metric-card strong{font-family:Sora,Segoe UI,Arial,sans-serif;font-size:clamp(28px,3vw,36px);line-height:1}.metric-card span{color:#6a778a;color:var(--text-soft);font-size:14px;font-weight:600}.panel{animation:panel-in .32s ease;background:#fffffff5;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 12px 26px #14233b0f;margin-top:14px;padding:20px}.workspace-panel{margin-top:16px}.workspace-panel-fill{display:block}.workspace-panel-fill:has(.quotes-page-recent){display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.section-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.section-note{color:#6a778a;color:var(--text-soft);font-size:13px;line-height:1.5}.calendar-hero-head{align-items:center;background:linear-gradient(135deg,#1a3660,#0f2242);border-radius:18px;box-shadow:0 16px 40px #0f224238;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.calendar-hero-left{align-items:center;display:flex;flex:1 1 280px;gap:14px;min-width:0}.calendar-hero-icon{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;color:#ffffffd9;display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.calendar-hero-head h3{color:#fff;font-size:clamp(17px,2.2vw,22px)}.calendar-hero-head .section-note{color:#ffffff94;margin-top:4px}.calendar-head-actions{display:flex;flex-wrap:wrap;gap:10px}.calendar-hero-head .btn-primary{background:#f0ba1f;background:var(--accent);border-color:#0000;color:#1d2a3b;font-weight:700}.calendar-hero-head .btn-ghost{background:#ffffff1a;border:1px solid #fff3;color:#ffffffd9}.calendar-hero-head .btn-ghost:hover{background:#ffffff2e}@media (max-width:768px){.calendar-hero-head{border-radius:14px;padding:16px}.calendar-hero-left{flex:1 1 100%}.calendar-head-actions{width:100%}.calendar-head-actions .btn{flex:1 1 auto;text-align:center}}.calendar-wrap{margin-top:14px}.calendar-ops-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.calendar-board-card,.calendar-ops-stat,.calendar-sidebar-card{background:linear-gradient(180deg,#fffffffa,#f7fafff5);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 38px #12223a14}.calendar-ops-stat{grid-gap:6px;display:grid;gap:6px;overflow:hidden;padding:18px 20px;position:relative}.calendar-ops-stat:before{border-radius:18px 0 0 18px;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.calendar-ops-stat-blue{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.calendar-ops-stat-amber{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.calendar-ops-stat-orange{background:linear-gradient(135deg,#fff7ed,#ffedd5)}.calendar-ops-stat-green{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.calendar-ops-stat-blue:before{background:#2563eb}.calendar-ops-stat-amber:before{background:#d97706}.calendar-ops-stat-orange:before{background:#ea580c}.calendar-ops-stat-green:before{background:#16a34a}.calendar-ops-stat-blue strong{color:#1d4ed8}.calendar-ops-stat-amber strong{color:#b45309}.calendar-ops-stat-orange strong{color:#c2410c}.calendar-ops-stat-green strong{color:#15803d}.calendar-stat-icon-wrap{opacity:.15;pointer-events:none;position:absolute;right:12px;top:12px}.calendar-stat-icon-wrap svg{height:38px;width:38px}.calendar-ops-stat-blue .calendar-stat-icon-wrap{color:#1d4ed8;opacity:.22}.calendar-ops-stat-amber .calendar-stat-icon-wrap{color:#92400e;opacity:.22}.calendar-ops-stat-orange .calendar-stat-icon-wrap{color:#9a3412;opacity:.22}.calendar-ops-stat-green .calendar-stat-icon-wrap{color:#14532d;opacity:.22}.calendar-ops-stat strong{font-family:Sora,Segoe UI,Arial,sans-serif;font-size:clamp(28px,3vw,38px);line-height:1}.calendar-ops-stat span{color:#6a778a;color:var(--text-soft);font-size:13px;font-weight:600}.calendar-ops-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.5fr) minmax(360px,.92fr);margin-top:18px}.calendar-board-card,.calendar-sidebar-card{grid-gap:14px;display:grid;gap:14px;padding:16px}.calendar-board-head,.calendar-focus-title-row,.calendar-sidebar-section-head,.calendar-sidebar-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.calendar-filter-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.calendar-ops-wrap{margin-top:0}.calendar-ops-wrap .fc{background:#fff;border-radius:16px;padding:10px}.calendar-ops-wrap .fc-toolbar{margin-bottom:14px!important}.calendar-ops-wrap .fc-scrollgrid{border-radius:16px;overflow:hidden}.calendar-ops-wrap .fc-theme-standard td,.calendar-ops-wrap .fc-theme-standard th{border-color:#d9dee8;border-color:var(--border)}.calendar-ops-wrap .fc-col-header-cell{background:#f7faff}.calendar-ops-wrap .fc-daygrid-day-frame{background:linear-gradient(180deg,#fff,#fbfdff);min-height:118px}.calendar-ops-wrap .fc-daygrid-day-number{color:#122744;color:var(--primary-strong);font-weight:700}.calendar-ops-wrap .fc-day-other .fc-daygrid-day-number{color:#aab4c4}.calendar-ops-wrap .fc-daygrid-event{background:#0000;border:0;margin-top:4px;padding:0}.calendar-event-chip{grid-gap:3px;border-radius:12px;box-shadow:0 8px 18px #152b4a29;color:#fff;display:grid;gap:3px;padding:6px 8px}.calendar-event-chip strong{font-size:12px;line-height:1.25;white-space:normal}.calendar-event-chip-type{font-size:10px;font-weight:800;letter-spacing:.04em;opacity:.92;text-transform:uppercase}.calendar-event-chip-planned{background:linear-gradient(135deg,#194d90,#0f3c75)}.calendar-event-chip-in_progress{background:linear-gradient(135deg,#c4831c,#9f5f00)}.calendar-event-chip-completed{background:linear-gradient(135deg,#1a8b63,#0d6650)}.calendar-event-chip-cancelled{background:linear-gradient(135deg,#8d98a8,#5f6d82)}.calendar-day-selected .fc-daygrid-day-frame{background:linear-gradient(180deg,#124a9b24,#124a9b0d)}.calendar-selected-label{color:#9f7a00;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calendar-board-head h4,.calendar-focus-title-row h4,.calendar-sidebar-top h4{margin:4px 0 0}.calendar-day-activity-list,.calendar-focus-card,.calendar-upcoming-card{background:#fffffff2;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:16px;padding:14px}.calendar-day-activity-list{grid-gap:10px;display:grid;gap:10px;max-height:360px;overflow:auto}.calendar-helper-text,.calendar-sidebar-section-head span{color:#6a778a;color:var(--text-soft);font-size:12px;font-weight:600}.calendar-empty-card{grid-gap:6px;background:#fbfdff;border:1px dashed #c8d6ea;border-radius:14px;display:grid;gap:6px;padding:16px}.calendar-empty-card strong{color:#1d2a3b;color:var(--text)}.calendar-empty-card span{color:#6a778a;color:var(--text-soft);font-size:13px;line-height:1.5}.calendar-activity-card,.calendar-upcoming-item{grid-gap:8px;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;cursor:pointer;display:grid;gap:8px;padding:12px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.calendar-activity-card:hover,.calendar-upcoming-item:hover{border-color:#98b7df;box-shadow:0 10px 24px #142b4b1a;transform:translateY(-1px)}.calendar-activity-card.active{background:linear-gradient(135deg,#f4f9ff,#eef5ff);border-color:#0000;box-shadow:inset 0 0 0 1px #124a9b33,0 12px 24px #124a9b1a}.calendar-activity-card.calendar-status-planned,.calendar-upcoming-item.calendar-status-planned{border-left:3px solid #2563eb}.calendar-activity-card.calendar-status-in_progress,.calendar-upcoming-item.calendar-status-in_progress{background:linear-gradient(135deg,#fff9f5,#fff4ed);border-left:3px solid #ea580c}.calendar-activity-card.calendar-status-completed,.calendar-upcoming-item.calendar-status-completed{background:linear-gradient(135deg,#f8fff9,#f0fdf4);border-left:3px solid #16a34a}.calendar-activity-card.calendar-status-cancelled,.calendar-upcoming-item.calendar-status-cancelled{border-left:3px solid #9ca3af;opacity:.65}.calendar-activity-card-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.calendar-activity-type{color:#2b5f99;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.calendar-activity-meta{display:flex;flex-wrap:wrap;gap:8px}.calendar-activity-meta span{background:#f1f6fb;border-radius:999px;color:#6a778a;color:var(--text-soft);font-size:12px;font-weight:700;padding:4px 8px}.status-pill-planned{background:#e4efff;color:#1d5a9e;text-transform:capitalize}.status-pill-in_progress{background:#fff0d6;color:#9c6103;text-transform:capitalize}.status-pill-completed{background:#dff7e8;color:#147845;text-transform:capitalize}.status-pill-cancelled{background:#ebedf2;color:#5d6673;text-transform:capitalize}.calendar-focus-card{grid-gap:12px;display:grid;gap:12px}.calendar-focus-title-row p{color:#6a778a;color:var(--text-soft);font-size:13px;font-weight:700;margin:4px 0 0}.calendar-detail-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-detail-item{grid-gap:6px;background:#f8fbff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;display:grid;gap:6px;padding:10px 12px}.calendar-detail-item span,.calendar-note-card span{color:#6a778a;color:var(--text-soft);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.calendar-detail-item strong{color:#1d2a3b;color:var(--text);overflow-wrap:anywhere}.calendar-note-card{grid-gap:8px;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;display:grid;gap:8px;padding:12px}.calendar-note-card p{color:#1d2a3b;color:var(--text);line-height:1.6;margin:0;white-space:pre-wrap}.calendar-note-card-completion{background:linear-gradient(180deg,#f7fff9,#fafdff)}.calendar-note-card strong{color:#2f5d96;font-size:12px}.calendar-proof-card{grid-gap:10px;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:16px;display:grid;gap:10px;padding:12px}.calendar-proof-card img{border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;max-height:220px;object-fit:cover;width:100%}.calendar-inline-link{color:#145b96;font-size:12px;font-weight:700;text-decoration:none}.calendar-inline-link:hover{text-decoration:underline}.calendar-action-stack,.calendar-form,.calendar-upcoming-list{grid-gap:10px;display:grid;gap:10px}.calendar-modal-card{max-width:860px;min-width:min(700px,calc(100vw - 48px));width:100%}.calendar-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-field-span-2{grid-column:span 2}.calendar-textarea{min-height:124px;resize:vertical}.calendar-upload-shell{align-items:center;background:linear-gradient(180deg,#f9fbff,#f3f7fd);border:1px dashed #bfd0e8;border-radius:12px;cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;min-height:48px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.calendar-upload-shell:hover{background:linear-gradient(180deg,#fcfdff,#f6f9fe);border-color:#8fb0dc}.calendar-upload-shell:focus-within{border-color:#1f3c63;border-color:var(--primary);box-shadow:0 0 0 3px #124a9b24}.calendar-upload-input{display:none}.calendar-upload-button{align-items:center;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 18px #111f3414;color:#1d2a3b;color:var(--text);display:inline-flex;font-size:13px;font-weight:700;justify-content:center;min-height:38px;padding:0 14px;white-space:nowrap}.calendar-upload-name{color:#6a778a;color:var(--text-soft);flex:1 1 220px;font-size:13px;font-weight:600;min-width:0;overflow-wrap:anywhere}.calendar-upload-name.is-selected{color:#1d2a3b;color:var(--text)}.calendar-upload-link{justify-self:start}.calendar-upcoming-item span{color:#6a778a;color:var(--text-soft);font-size:12px;font-weight:600}.calendar-upcoming-item-top{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.calendar-upcoming-type{color:#6a778a;color:var(--text-soft);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}@media (max-width:1200px){.calendar-ops-layout{grid-template-columns:1fr}}@media (max-width:640px){.calendar-detail-grid,.calendar-form-grid,.calendar-ops-summary{grid-template-columns:1fr}.calendar-field-span-2{grid-column:auto}.calendar-board-head,.calendar-focus-title-row,.calendar-sidebar-section-head,.calendar-sidebar-top{align-items:flex-start;flex-direction:column}.calendar-filter-pills{justify-content:flex-start}}.quotes-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 300px;margin-top:18px}.quotes-page{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.quote-review-layout,.quotes-page-recent{height:100%;overflow:hidden}.quote-review-layout{align-items:stretch;flex:1 1 auto;grid-template-columns:minmax(0,1.72fr) minmax(360px,.82fr);min-height:0}.quote-mode-tabs{border-bottom:2px solid #d9dee8;border-bottom:2px solid var(--border);display:flex;gap:0;margin-top:18px}.quote-mode-tabs .step-pill{background:#0000;border:none;border-radius:0;color:#6a778a;color:var(--text-soft);font-size:13px;font-weight:700;padding:10px 20px;position:relative;transition:color .18s ease}.quote-mode-tabs .step-pill:after{background:#0000;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0;transition:background .18s ease}.quote-mode-tabs .step-pill.active{background:#0000;color:#1f3c63;color:var(--primary)}.quote-mode-tabs .step-pill.active:after{background:#1f3c63;background:var(--primary)}.quote-review-shell{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.quote-review-toolbar{grid-gap:8px;background:#f4f7fc;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;grid-template-columns:minmax(240px,1fr) auto auto;padding:12px}.quote-list-actions{grid-template-columns:repeat(3,minmax(84px,104px))}.quote-review-card{background:linear-gradient(180deg,#fff,#f7faff);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px #14233b0f;display:flex;flex-direction:column;height:100%;max-height:none;min-height:0;overflow:hidden}.quote-review-card h4,.quote-review-shell h4{border-bottom:1px solid #d9dee8;border-bottom:1px solid var(--border);color:#122744;color:var(--primary-strong);font-size:18px;margin:0;padding-bottom:10px}.quote-review-card .stat-row{align-items:start;display:grid;grid-template-columns:96px minmax(0,1fr)}.quote-review-card .stat-row strong{overflow-wrap:anywhere;text-align:left}.quote-review-card .btn{width:100%}.quote-confirm-modal{max-width:460px;width:100%}.quote-review-items{grid-gap:10px;border-top:1px solid #d9dee8;border-top:1px solid var(--border);display:grid;flex:1 1 auto;gap:10px;margin-top:6px;min-height:0;overflow:auto;padding-right:4px;padding-top:8px}.quotes-page-recent .quote-review-items{flex:0 0 auto;min-height:auto;overflow:hidden;padding-right:0}.quote-review-shell .materials-table-wrap{flex:1 1 auto;max-height:none;min-height:0}.quotes-page-recent .quote-review-shell .materials-table-wrap{height:100%}.quote-review-item{grid-gap:6px;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;display:grid;gap:6px;padding:12px 14px;transition:box-shadow .15s ease,border-color .15s ease}.quote-review-item:hover{border-color:#b8cde8;box-shadow:0 4px 12px #14325a0f}.quote-review-item-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.quote-review-item-top strong{color:#1d2a3b;color:var(--text);font-size:14px;line-height:1.4}.quote-review-item-top span{color:#1f3c63;color:var(--primary);font-size:14px;font-weight:800;white-space:nowrap}.quote-review-item-meta{display:flex;flex-wrap:wrap;gap:6px}.quote-review-item-meta span{background:#eef3fb;border-radius:6px;color:#6a778a;color:var(--text-soft);font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 8px}.result-card{grid-gap:12px;align-content:start;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px #14233b0f;display:grid;gap:12px;padding:20px}.result-card h4{border-bottom:1px solid #d9dee8;border-bottom:1px solid var(--border);color:#122744;color:var(--primary-strong);font-size:18px;padding-bottom:10px}.stat-row{background:#f5f8fd;border-radius:8px;color:#6a778a;color:var(--text-soft);display:flex;font-size:13px;font-weight:600;gap:12px;justify-content:space-between;padding:8px 10px}.stat-row strong{color:#1d2a3b;color:var(--text);font-size:13px;text-align:right}.stat-row-discount{background:#c0392b12;color:#c0392b}.stat-row-discount strong{color:#c0392b}.stat-row-total{background:#15803d14;border:1px solid #15803d33}.stat-row-total strong{color:#15803d;font-size:14px}.items-editor{grid-gap:10px;background:linear-gradient(180deg,#f7faff,#f2f6fd);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;display:grid;gap:10px;padding:16px}.items-editor-title{color:#4a5e7a;font-family:Sora,Segoe UI,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.items-editor-note{color:#6a778a;color:var(--text-soft);font-size:13px;font-weight:600}.quote-stepper{display:flex;flex-wrap:wrap;gap:8px}.step-pill{background:#f0f4fa;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:8px;color:#6a778a;color:var(--text-soft);cursor:pointer;font-size:12px;font-weight:700;padding:7px 13px;transition:all .18s ease;white-space:nowrap}.step-pill:hover:not(:disabled):not(.active){background:#e4ecf8;border-color:#c0d0e8;color:#1f3c63;color:var(--primary)}.step-pill.active{background:linear-gradient(135deg,#1f3c63,#122744);background:linear-gradient(135deg,var(--primary),var(--primary-strong));border-color:#0000;box-shadow:0 4px 10px #1f3c6340;color:#fff}.step-pill:disabled{background:#f1f4f8;color:#7c8aa1;cursor:not-allowed;opacity:.4}.items-grid{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:48px 54px minmax(220px,1fr) 100px 110px 140px}.items-grid-head{background:linear-gradient(180deg,#f0f4fb,#eaeff8);border-radius:8px;color:#4a5e7a;font-size:11px;font-weight:800;letter-spacing:.05em;padding:9px 8px;text-transform:uppercase}.items-grid-row{border-radius:8px;padding:6px 4px;transition:background .15s ease}.items-grid-row:nth-child(2n){background:#f8fafd}.items-grid-row:hover{background:#eef3fb}.items-grid-row .input{padding:8px 9px}.item-no-col{grid-gap:2px;display:grid;gap:2px}.link-mini{background:#0000;border:0;color:#b83a3a;color:var(--danger);cursor:pointer;font-size:11px;padding:0;text-align:left}.material-pick-select{font-size:12px;margin-bottom:6px;padding:7px 9px}.qty-wrap{position:relative}.qty-wrap .input[disabled]{background:#eef3fa;color:#61728a}.auto-chip{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:5px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.03em;padding:2px 5px;pointer-events:none;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.step-nav{border-top:1px solid #d9dee8;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:space-between;margin-top:4px;padding-top:10px}.materials-card{grid-gap:16px;background:linear-gradient(180deg,#fff,#fafcff);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px #14233b0d;display:grid;gap:16px;margin-top:16px;padding:20px}.materials-card.quote-review-shell{display:flex}.materials-form{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1.8fr .8fr .8fr .8fr 1fr .8fr}.package-form{grid-template-columns:1.6fr 1fr .8fr}.materials-table-wrap{border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 12px #14233b0a;max-height:min(62vh,560px);overflow:auto}.materials-table{border-collapse:collapse;font-size:14px;width:100%}.materials-table thead th{background:linear-gradient(180deg,#f0f4fb,#eaeff8);color:#4a5e7a;font-size:11px;font-weight:800;letter-spacing:.06em;padding:11px 10px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.materials-table td,.materials-table th{border-top:1px solid #d9dee8;border-top:1px solid var(--border);padding:10px;text-align:left;vertical-align:middle}.materials-table tbody tr{transition:background .15s ease}.materials-table tbody tr:hover{background:#f5f8ff}.materials-actions{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(96px,112px))}.materials-actions .btn{justify-content:center;min-height:40px;text-align:center;white-space:nowrap;width:100%}.admin-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:14px}.admin-summary-card{grid-gap:8px;background:#fffffff0;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 18px #14233b0a;display:grid;gap:8px;padding:16px}.admin-summary-card strong{font-family:Sora,Segoe UI,Arial,sans-serif;font-size:28px;line-height:1}.admin-summary-card span{color:#6a778a;color:var(--text-soft);font-size:14px;font-weight:600}.admin-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.admin-toolbar-filters{grid-gap:8px;display:grid;flex:1 1 560px;gap:8px;grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(150px,.7fr))}.admin-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.user-form-grid{grid-gap:10px;background:#fbfdff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.user-editor-modal{background:radial-gradient(50rem 16rem at -10% -30%,#1f3c6314,#0000 45%),radial-gradient(34rem 14rem at 120% 0,#f0ba1f1f,#0000 48%),#fffffffa;gap:24px;max-height:min(90vh,860px);max-width:1060px;min-width:min(900px,calc(100vw - 48px));overflow:auto;padding:20px;width:100%}.user-modal-header{border-bottom:none}.user-modal-header h4{color:#fff;font-size:1.05rem}.user-modal-header p{color:#ffffffa6;font-size:.82rem;line-height:1.6;max-width:620px}.user-modal-form{grid-gap:18px;background:#0000;border:0;display:grid;gap:18px;padding:0}.user-modal-section{grid-gap:16px;background:linear-gradient(180deg,#f7f9fcfa,#fffffffa);border:1px solid #cdd9eaf2;border-radius:20px;box-shadow:0 12px 28px #14233b0d;display:grid;gap:16px;padding:20px}.user-modal-section-head{grid-gap:6px;display:grid;gap:6px}.user-modal-section-head strong{color:#17385f;font-size:17px}.user-modal-section-head span{color:#6a778a;color:var(--text-soft);font-size:13px;line-height:1.6}.user-modal-fields{grid-gap:16px 14px;align-items:start;display:grid;gap:16px 14px;grid-template-columns:repeat(3,minmax(0,1fr))}.field>span{color:#6a778a;color:var(--text-soft);font-size:13px;font-weight:700}.user-modal-fields .input,.user-modal-fields .select{background:#fff;min-height:46px}.user-field-span-2{grid-column:span 2}.generated-password-card{grid-gap:14px;background:linear-gradient(180deg,#f4fafffa,#fffffffa);border:1px solid #c2d7f0f2;border-radius:20px;box-shadow:inset 0 1px 0 #ffffffb3,0 12px 28px #17385f0f;display:grid;gap:14px;padding:20px}.generated-password-label{grid-gap:6px;display:grid;gap:6px}.generated-password-label strong{color:#17385f;font-size:17px}.generated-password-label span{color:#6a778a;color:var(--text-soft);font-size:13px;font-weight:500;line-height:1.6}.generated-password-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1.2fr) auto auto}.generated-password-row .input{background:#fff;min-height:48px}.generated-password-row .btn{min-height:48px;min-width:96px}.user-modal-form .error-text{padding:0 4px}.user-modal-form .modal-actions{margin-top:2px}.user-modal-form .modal-actions .btn{min-height:48px;min-width:126px}.user-blocker-modal{max-width:720px;width:100%}.user-blocker-groups{grid-gap:14px;display:grid;gap:14px}.user-blocker-group{grid-gap:10px;background:linear-gradient(180deg,#f7f9fcfa,#fffffffa);border:1px solid #cdd9eaf2;border-radius:16px;display:grid;gap:10px;padding:14px}.user-blocker-group strong{color:#17385f;font-size:15px}.user-blocker-list{grid-gap:10px;display:grid;gap:10px}.user-blocker-item{grid-gap:6px;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;display:grid;gap:6px;padding:12px 14px}.user-blocker-item-title{color:#1d2a3b;color:var(--text);font-weight:800}.user-blocker-item-meta{display:flex;flex-wrap:wrap;gap:8px}.user-blocker-item-meta span{background:#f3f7fc;border-radius:999px;font-weight:700;padding:4px 8px}.table-subtext,.user-blocker-item-meta span{color:#6a778a;color:var(--text-soft);font-size:12px}.table-subtext{display:block;margin-top:4px}.permission-pill,.role-pill,.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;line-height:1.2;padding:5px 10px}.role-pill-admin{background:#fff3ca;color:#7d5b00}.role-pill-field_work{background:#dcefff;color:#18568e}.role-pill-generic{background:#eceff4;color:#41556f}.status-pill-active{background:#dff7e8;color:#147845;text-transform:capitalize}.status-pill-inactive{background:#fde5e5;color:#a03636;text-transform:capitalize}.permission-pill{background:#eef3fb;color:#28476e}.empty-state-cell{color:#6a778a;color:var(--text-soft);font-size:14px;font-weight:600;padding:28px 12px;text-align:center}.materials-actions .btn{font-size:12px;padding:8px 10px}.role-card{align-content:start}.role-form-card{grid-gap:12px;background:#fbfdff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;padding:14px}.role-form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1.4fr .7fr .8fr}.role-key-preview{background:#eef3fa;color:#61728a}.role-description-input{min-height:92px;resize:vertical}.role-modules-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.module-check-card{align-items:flex-start;background:#fff;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;display:flex;gap:10px;padding:12px}.module-check-card input{margin-top:2px}.module-check-card strong{display:block;font-size:14px}.module-check-card span{color:#6a778a;color:var(--text-soft);display:block;font-size:12px;font-weight:500;margin-top:4px}.role-card-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.role-card-head h4{font-size:20px}.role-counts{grid-gap:3px;display:grid;gap:3px}.permissions-list{display:flex;flex-wrap:wrap;gap:8px}.audit-detail{min-width:240px;white-space:normal}.btn-danger{background:linear-gradient(135deg,#c94b4b,#992f2f);box-shadow:0 10px 20px #992f2f38;color:#fff}.template-header-grid{grid-gap:12px;align-items:start;background:linear-gradient(135deg,#f4f8ff,#edf3fb);border:1px solid #d9dee8;border:1px solid var(--border);border-radius:14px;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;padding:16px}.template-header-grid .field,.template-zone{align-content:start}.template-zone{grid-gap:8px;display:grid;gap:8px}.template-zone-label{align-items:center;color:#1f3c63;color:var(--primary);display:flex;font-size:11px;font-weight:800;gap:6px;letter-spacing:.07em;text-transform:uppercase}.template-zone-label svg{flex-shrink:0;opacity:.7}.template-zone-or{align-items:center;align-self:stretch;color:#8da0b8;display:flex;font-size:10px;font-weight:800;justify-content:center;letter-spacing:.1em;padding:0 8px;position:relative;text-transform:uppercase}.template-zone-or:before{background:linear-gradient(180deg,#0000,#d9dee8 30%,#d9dee8 70%,#0000);background:linear-gradient(180deg,#0000,var(--border) 30%,var(--border) 70%,#0000);bottom:0;content:"";left:50%;position:absolute;top:0;width:1px}.template-empty-state{align-items:center;background:linear-gradient(135deg,#f8faff,#f2f6fc);border:1.5px dashed #d9dee8;border:1.5px dashed var(--border);border-radius:14px;display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:40px 24px 32px;text-align:center}.template-empty-state>svg{color:#8da0b8;margin-bottom:6px;opacity:.7}.template-empty-state>strong{color:#1f3c63;color:var(--primary);font-size:16px;font-weight:700}.template-empty-state>p{color:#6a778a;color:var(--text-soft);font-size:14px;line-height:1.55;max-width:420px}.template-empty-count{background:#e8f0fd;border-radius:20px;color:#2667c7!important;font-size:12px!important;font-weight:700;margin-top:4px;padding:5px 14px}.template-toolbar{background:#f7f9fc;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:12px;gap:12px;justify-content:space-between;padding:12px}.template-inline-actions,.template-toolbar{align-items:center;display:flex;flex-wrap:wrap}.template-inline-actions{gap:8px;width:100%}.template-inline-actions .input{flex:1 1 auto}.template-items-form{grid-template-columns:.55fr 2fr .8fr .8fr 1fr .9fr}.add-item-card{background:linear-gradient(180deg,#f4f8ff,#edf3fb);border:1px solid #c8d8f0;border-radius:16px;overflow:hidden}.add-item-card-head{align-items:center;background:linear-gradient(135deg,#1f3c63,#122744);color:#fff;display:flex;gap:8px;padding:11px 16px}.add-item-card-head svg{flex-shrink:0;height:15px;opacity:.8;width:15px}.add-item-card-head strong{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.add-item-picker-row{grid-gap:12px;border-bottom:1px solid #d4e0f0;display:grid;gap:12px;grid-template-columns:1fr 1.4fr 1.4fr;padding:14px 16px 12px}.add-item-details-row{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:80px 100px 100px 140px 1fr;padding:12px 16px 14px}.add-item-submit{align-items:center;align-self:end;display:flex;gap:7px;height:42px;justify-content:center}.add-item-submit svg{flex-shrink:0;height:14px;width:14px}@media (max-width:900px){.add-item-picker-row{grid-template-columns:1fr 1fr}.add-item-picker-row .add-item-desc-field{grid-column:span 2}.add-item-details-row{grid-template-columns:1fr 1fr 1fr 1fr}.add-item-submit{grid-column:span 4}}@media (max-width:600px){.add-item-picker-row{grid-template-columns:1fr}.add-item-picker-row .add-item-desc-field{grid-column:span 1}.add-item-details-row{grid-template-columns:1fr 1fr}.add-item-submit{grid-column:span 2}}.module-card-head{align-items:center;background:linear-gradient(135deg,#1e3560,#162c52);border-radius:16px 16px 0 0;color:#fff;display:flex;gap:14px;margin:-20px -20px 20px;padding:16px 20px}.module-card-head>svg{flex-shrink:0;opacity:.75}.module-card-head-text{flex:1 1;min-width:0}.module-card-head-text strong{color:#fff;display:block;font-size:14px;font-weight:700;letter-spacing:.01em}.module-card-head-text span{color:#ffffff94;display:block;font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-card-head-filter{flex-shrink:0}.module-card-head-filter .select{background:#ffffff1a;border-color:#ffffff40;color:#fff;font-size:13px;min-width:130px;padding:6px 10px}.module-card-head-filter .select option{background:#162c52;color:#fff}@media (max-width:768px){.module-card-head{border-radius:12px 12px 0 0;flex-wrap:wrap;margin:-14px -14px 16px;padding:14px}.module-card-head-text span{white-space:normal}.module-card-head-filter,.module-card-head-filter .select{width:100%}}.admin-summary-card{position:relative}.admin-summary-card.accent-amber,.admin-summary-card.accent-blue,.admin-summary-card.accent-green,.admin-summary-card.accent-purple{padding-left:20px}.admin-summary-card.accent-amber:before,.admin-summary-card.accent-blue:before,.admin-summary-card.accent-green:before,.admin-summary-card.accent-purple:before{border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.admin-summary-card.accent-blue:before{background:#2667c7}.admin-summary-card.accent-green:before{background:#178a4b}.admin-summary-card.accent-amber:before{background:#c97d06}.admin-summary-card.accent-purple:before{background:#6b35c7}.add-item-card-sub{color:#fff9;font-size:12px;font-weight:500;margin-left:auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-item-details-row.row-auto{grid-template-columns:1fr 1.4fr auto}@media (max-width:900px){.add-item-details-row.row-auto{grid-template-columns:1fr 1fr}.add-item-details-row.row-auto .add-item-submit{grid-column:span 2}}@media (max-width:600px){.add-item-details-row.row-auto{grid-template-columns:1fr}.add-item-details-row.row-auto .add-item-submit{grid-column:span 1}}.pkg-template-selector{margin-bottom:16px}.pkg-template-selector .field span{color:#6a778a;color:var(--text-soft);display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.template-group-select optgroup{color:#2f5d96;font-weight:800}.template-sections-card{margin-top:4px}.template-edit-stack{grid-gap:6px;display:grid;gap:6px}.template-row-description{grid-gap:3px;display:grid;gap:3px}.template-row-description strong{font-size:14px}.template-row-description span{color:#6a778a;color:var(--text-soft);font-size:12px}.template-picker-separator{align-items:center;color:#8da0b8;display:flex;font-size:10px;font-weight:800;gap:10px;letter-spacing:.08em;margin:2px 0;text-transform:uppercase}.template-picker-separator:after,.template-picker-separator:before{background:linear-gradient(90deg,#0000,#d9dee8,#0000);background:linear-gradient(90deg,#0000,var(--border),#0000);content:"";flex:1 1 auto;height:1px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#121c2b6b;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:1000}.modal-card{grid-gap:18px;background:#fffffffa;border:1px solid #d9dee8;border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 50px #111f3433;display:grid;gap:18px;max-width:480px;overflow:hidden;padding:20px;width:100%}.modal-copy{grid-gap:6px;background:linear-gradient(135deg,#0e1e35,#162947 60%,#1a3358);border-radius:18px 18px 0 0;display:grid;gap:6px;margin:-20px -20px 0;padding:18px 20px 16px}.modal-copy h4{color:#fff;font-size:1rem;font-weight:700;letter-spacing:.01em;margin:0}.modal-copy p{color:#ffffffa6;font-size:.82rem;line-height:1.5;margin:0}.modal-actions{background:#f8fafdcc;border-radius:0 0 18px 18px;border-top:1px solid #d9dee8;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;margin:0 -20px -20px;padding:14px 20px}.fc .fc-toolbar-title{font-family:Sora,Segoe UI,Arial,sans-serif;font-size:1.18rem}.fc .fc-button{background:#f0f4fa;border:0;color:#1d2a3b;color:var(--text)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:#1f3c63;background:var(--primary)}.fc .fc-daygrid-day.fc-day-today{background:#124a9b17}@media (max-width:1100px){.workspace-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.workspace-sidebar{border-bottom:1px solid #d9dee8;border-bottom:1px solid var(--border);border-right:0;height:auto;overflow-y:visible}.sidebar-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-footer{margin-top:0}}@media (max-width:768px){.workspace-shell{grid-template-columns:1fr;grid-template-rows:1fr}.workspace-sidebar{border-bottom:0;border-right:1px solid #d9dee8;border-right:1px solid var(--border);box-shadow:4px 0 24px #0000001f;height:100vh;left:-280px;overflow-y:auto;position:fixed;top:0;transition:left .28s cubic-bezier(.4,0,.2,1);width:280px;z-index:200}.workspace-sidebar.sidebar-open{left:0}.sidebar-overlay{animation:fade-in .2s ease;background:#0f192861;display:block;inset:0;position:fixed;z-index:199}.sidebar-hamburger{display:flex}.sidebar-groups{grid-template-columns:1fr}}@media (max-width:900px){.workspace-main{padding:14px 12px 18px}.workspace-topbar{flex-direction:column}.workspace-topbar,.workspace-topbar-left{align-items:flex-start}.workspace-datetime{flex-wrap:wrap;gap:10px}.workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-groups{gap:10px}.quotes-layout,.sidebar-groups{grid-template-columns:1fr}.quote-mode-tabs .step-pill{font-size:12px;padding:10px 14px}.quote-review-toolbar{grid-template-columns:1fr}.calendar-head-actions{width:100%}.calendar-head-actions .btn{flex:1 1 160px}.calendar-detail-grid,.calendar-form-grid,.calendar-ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-field-span-2{grid-column:span 2}.items-grid{grid-template-columns:44px 48px 1fr}.items-grid-head{display:none}.items-grid-row{border-top:1px solid #d9dee8;border-top:1px solid var(--border);margin-top:2px;padding-top:10px}.items-grid-row>:nth-child(4),.items-grid-row>:nth-child(5),.items-grid-row>:nth-child(6){grid-column:1/-1}.admin-toolbar-filters,.materials-form,.role-form-grid,.user-form-grid,.user-modal-fields{grid-template-columns:1fr}.user-field-span-2{grid-column:auto}.generated-password-row{grid-template-columns:1fr}.calendar-modal-card,.user-editor-modal{min-width:0;min-width:auto}.user-editor-modal{padding:20px}.user-modal-header h4{font-size:1rem}.admin-toolbar-actions{width:100%}.template-header-grid{grid-template-columns:1fr}.template-zone-or{align-self:auto;padding:4px 0}.template-zone-or:before{bottom:auto;height:1px;left:0;right:0;top:50%;transform:none;width:auto}.template-inline-actions{align-items:stretch;flex-direction:column}}@media (max-width:680px){.workspace-metrics{grid-template-columns:1fr}.auth-card{padding:22px}.panel{padding:14px}}.login-city-shell{background:#ececec;display:grid;min-height:100vh;padding:24px;place-items:center}.login-city-card{background:#f0f0f0;border:1px solid #d4d8de;border-radius:12px;box-shadow:0 8px 20px #00000014;padding:46px 46px 38px;width:min(500px,100%)}.login-city-brand{text-align:center}.login-city-brand-image{display:block;height:auto;margin:0 auto 18px;object-fit:contain;width:min(250px,100%)}.login-city-logo{color:#0f5fa8;font-family:Manrope,Segoe UI,Arial,sans-serif;font-size:22px;font-weight:800;letter-spacing:.02em}.login-city-title{color:#0f5fa8;font-size:42px;font-weight:800;letter-spacing:.35em;margin-top:18px;padding-left:.35em}.login-city-subtitle{color:#6a7687;font-size:14px;font-weight:600;letter-spacing:.06em;margin-top:12px}.login-city-form{grid-gap:14px;display:grid;gap:14px;margin:34px auto 0;width:min(430px,100%)}.login-city-form label{color:#374255;font-size:16px}.login-city-input{background:#f5f5f5;border:1px solid #c8ced8;font-size:16px;padding:13px 14px}.login-city-input:focus{border-color:#0f5fa8;box-shadow:0 0 0 2px #0f5fa833}.login-city-password-wrap{position:relative}.login-city-password-wrap .login-city-input{padding-right:70px}.login-city-eye{background:#0000;border:0;color:#8d97a5;cursor:pointer;font-size:13px;font-weight:700;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.login-city-remember{align-items:center;color:#374255;display:inline-flex;font-size:15px;gap:9px;margin-top:4px}.login-city-remember input{height:17px;width:17px}.login-city-submit{background:#0f5fa8;box-shadow:none;color:#fff;font-size:16px;font-weight:800;margin-top:2px}.login-city-submit:hover{background:#0b4a84;transform:none}.login-city-footer{color:#7d8795;font-size:12px;margin-top:42px;text-align:center}.login-password-modal{width:min(520px,100%)}.login-password-user{color:#0f5fa8;font-weight:700}.login-password-form{grid-gap:12px;display:grid;gap:12px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.9ed5a874.css.map*/