:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0d2038;background:#fff;font-synthesis:none;text-rendering:geometricPrecision;--navy: #062b57;--navy-deep: #02264f;--blue: #0b63ce;--blue-soft: #eaf3ff;--green: #138a5b;--green-soft: #edf8f3;--purple: #6f2bc5;--purple-soft: #f4edfb;--amber: #df7a00;--amber-soft: #fff6e8;--ink: #0d2038;--muted: #5b6b80;--border: #ced8e4;--grid: #e5ebf2}*{box-sizing:border-box}.web-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--navy)}.web-login-card{width:min(420px,100%);padding:36px;border-radius:10px;background:#fff;text-align:center;box-shadow:0 20px 60px #00000040}.web-login-card h1{margin:0 0 12px;color:var(--navy)}.web-login-card p{margin:0 0 24px;color:var(--muted);line-height:1.55}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}.app-shell{width:100%;height:100%}body{overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(11,99,206,.25);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden-file,.mobile-agenda{display:none}.desktop-shell{display:grid;width:100%;height:100%;grid-template-columns:136px 1fr;grid-template-rows:57px 1fr;background:#fff}.sidebar{grid-row:1 / 3;grid-column:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#062b57,#03274f);color:#fff;z-index:20}.brand{height:96px;display:grid;place-items:center;position:relative}.brand svg{color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item,.collapse-button{appearance:none;border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 16px;cursor:pointer;font-size:12px;font-weight:500;text-align:left;white-space:nowrap}.nav-item{position:relative}.nav-item:hover{background:#ffffff12}.nav-item.active{background:#0a4f98}.nav-item.active:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#1d89ff}.collapse-button{margin-top:auto;margin-bottom:24px}.topbar{grid-column:2;grid-row:1;height:57px;display:grid;grid-template-columns:160px minmax(340px,440px) 1fr;align-items:center;gap:28px;border-bottom:1px solid var(--border);padding:0 18px;background:#fff;z-index:18}.organization-select select,.filters select,.candidate select,.candidate input,.create-dialog input,.create-dialog select,.create-dialog textarea{width:100%;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--ink)}.organization-select select{width:128px;height:36px;padding:0 12px;font-size:13px}.global-search{height:36px;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:5px;padding:0 9px;color:var(--muted)}.global-search input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);font-size:12px}.global-search input::placeholder{color:#8b98a9}.global-search kbd{color:#8a97a8;border:1px solid #d7dfe8;border-radius:3px;padding:1px 5px;font:11px inherit}.profile-actions{justify-self:end;display:flex;align-items:center;gap:10px;font-size:12px}.profile-actions strong{font-weight:600}.icon-button{display:grid;place-items:center;border:0;background:transparent;border-radius:5px;min-width:34px;min-height:34px;cursor:pointer}.icon-button:hover{background:#f0f4f8}.notification-button{position:relative}.notification-button span{position:absolute;right:-2px;top:-2px;display:grid;place-items:center;width:17px;height:17px;background:var(--blue);color:#fff;border:2px solid white;border-radius:50%;font-size:9px;font-weight:700}.separator{height:28px;width:1px;background:var(--border)}.avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8d9bae;border-radius:50%}.profile-chevron{margin-left:4px;font-size:16px}.workspace{grid-column:2;grid-row:2;position:absolute;inset:57px 0 0 136px;display:grid;grid-template-rows:55px 62px 76px minmax(0,1fr) 55px;padding:0 8px;background:#fff;transition:right .2s ease;overflow:hidden}.workspace.drawer-visible{right:388px}.workspace-heading{display:flex;align-items:end;padding:0 10px 12px}.workspace-heading h1{margin:0;font-size:22px;line-height:1;font-weight:700;letter-spacing:-.35px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 10px 12px;border-bottom:1px solid var(--border)}.date-navigation,.toolbar-actions{display:flex;align-items:center;gap:10px}.date-navigation strong{margin-left:16px;font-size:13px;font-weight:500}.square-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:5px;background:#fff;cursor:pointer}.square-button svg{width:18px}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:5px;padding:0 18px;font-size:12px;font-weight:600;cursor:pointer}.button.compact{min-height:42px;padding:0 14px;font-weight:500}.button.primary{color:#fff;border:1px solid var(--blue);background:linear-gradient(180deg,#0d69d5,#0759ba);box-shadow:0 1px 2px #022b572e}.button.primary:hover{background:#0758b8}.button.primary:disabled{opacity:.5;cursor:not-allowed}.button.secondary{color:var(--ink);border:1px solid var(--border);background:#fff}.button.secondary.blue{color:#075abb;border-color:#3377d6}.filters{display:grid;grid-template-columns:168px 168px 168px 148px 1fr;gap:28px;align-items:end;padding:14px 10px 15px}.filters label,.candidate label,.create-dialog label{display:flex;flex-direction:column;gap:6px;color:#46576c;font-size:10px}.filters select{height:36px;padding:0 11px;font-size:12px}.select-with-icon{position:relative}.select-with-icon svg{position:absolute;left:11px;top:10px;z-index:1}.select-with-icon select{padding-left:36px}.clear-filters{align-self:center;justify-self:start;display:flex;align-items:center;gap:7px;margin-top:16px;border:0;background:transparent;color:#075abb;font-size:12px;cursor:pointer}.calendar-wrap{min-height:0;border:1px solid var(--border);overflow:hidden}.calendar-legend{display:flex;align-items:center;gap:34px;padding-left:16px;font-size:12px;color:#506074}.calendar-legend span{display:flex;align-items:center;gap:10px}.calendar-legend i{width:16px;height:16px;border-radius:50%}.calendar-legend i.blue{background:var(--blue)}.calendar-legend i.green{background:var(--green)}.calendar-legend i.purple{background:var(--purple)}.fc{--fc-border-color: var(--grid);--fc-page-bg-color: #fff;--fc-neutral-bg-color: #fff;--fc-today-bg-color: transparent;height:100%;color:var(--ink);font-size:11px}.fc .fc-scrollgrid{border:0}.fc .fc-scroller{scrollbar-width:none}.fc .fc-scroller::-webkit-scrollbar{display:none}.fc-theme-standard td,.fc-theme-standard th{border-color:var(--grid)}.fc .fc-col-header-cell{height:36px;vertical-align:middle;background:#fff;font-weight:500}.fc .fc-col-header-cell.fc-day-wed{border-bottom:3px solid var(--blue)}.fc .fc-col-header-cell-cushion{color:var(--ink);text-decoration:none;text-transform:capitalize}.fc .fc-day-wed .fc-col-header-cell-cushion{color:var(--blue);font-weight:700}.fc .fc-day-sun .fc-col-header-cell-cushion{color:#e22929}.fc .fc-timegrid-slot{height:31px}.fc .fc-timegrid-slot-label-cushion{padding-right:12px;font-size:10px;color:#3f5064}.fc .fc-timegrid-axis-cushion{font-size:10px}.fc .fc-timegrid-now-indicator-line{border-color:#e22735;border-width:1px}.fc .fc-timegrid-now-indicator-arrow{border-color:#e22735;border-top-color:transparent;border-bottom-color:transparent}.fc .fc-timegrid-event{border-width:1px;border-radius:5px;box-shadow:none;margin:1px 3px 0}.fc .calendar-event-selected{border-width:2px;box-shadow:0 0 0 1px #0b63ce14}.fc .fc-event-main{padding:0;color:inherit}.event-content{height:100%;display:flex;flex-direction:column;gap:2px;padding:5px 6px;overflow:hidden}.event-content b{font-size:9px;font-weight:600}.event-content strong{font-size:10px;line-height:1.2}.event-content span{font-size:9px;opacity:.86}.fc .fc-timegrid-event-harness-inset .fc-timegrid-event{box-shadow:none}.fc .fc-timegrid-axis-frame,.fc .fc-timegrid-slot-label-frame{justify-content:center}.ocr-drawer{position:absolute;z-index:15;top:57px;right:0;bottom:0;width:388px;display:grid;grid-template-rows:56px auto minmax(0,1fr) auto 64px;background:#fff;border-left:1px solid var(--border);box-shadow:-6px 0 18px #19304c08}.ocr-title-row{display:flex;align-items:center;justify-content:space-between;padding:0 16px}.ocr-title-row h2{margin:0;font-size:16px;letter-spacing:-.2px}.ocr-source{display:grid;grid-template-columns:126px 1fr;gap:13px;padding:0 16px 15px;border-bottom:1px solid var(--border)}.source-preview{height:148px;position:relative;border:0;background:#d8c5a4;padding:11px;cursor:pointer;overflow:hidden;box-shadow:inset 0 0 16px #462e1640}.source-preview>svg{position:absolute;right:7px;bottom:7px;color:#fff;filter:drop-shadow(0 1px 2px #000)}.paper-lines{transform:rotate(-1.5deg);height:100%;padding:8px 6px;display:flex;flex-direction:column;gap:7px;background:#f7f1e4;border:1px solid #a89573;color:#4a4a44}.paper-lines strong{font-size:6px;text-align:center}.paper-lines span{height:1px;background:#9b9385;box-shadow:0 5px #b3aa9b,0 10px #a8a093}.ocr-source>div>strong{display:block;margin:5px 0 9px;font-size:12px}.ocr-source p{margin:0 0 13px;font-size:10px;line-height:1.55;color:#526278}.source-file{display:flex;align-items:flex-start;gap:8px;color:#35465a;font-size:9px}.source-file span{display:flex;flex-direction:column;gap:3px}.source-file small{color:#718096}.ocr-candidates{min-height:0;overflow:auto;padding:0 16px}.candidate{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:9px 0 8px;border-bottom:1px solid var(--border)}.candidate-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dcecff;color:#075abb;font-weight:700}.candidate:nth-child(1) .candidate-number{background:#ead9fb;color:#6f2bc5}.candidate:nth-child(2) .candidate-number{background:#d6f0e5;color:#137c55}.candidate-number.warning{background:#dcecff;color:#075abb}.candidate-fields{display:flex;flex-direction:column;gap:6px}.candidate input,.candidate select{height:28px;padding:0 10px;font-size:10px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.candidate .input-warning{border-color:#f19a30}.confidence{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:23px;padding:3px 8px;background:#eaf8f2;border:1px solid #b4dfcd;border-radius:5px;color:#126b4a;font-size:9px;font-weight:500}.confidence.warning{background:var(--amber-soft);border-color:#f3b35b;color:#a45b00}.privacy-note{display:none;margin:5px 16px 0;align-items:center;gap:6px;color:#637389;font-size:9px}.ocr-actions{display:grid;grid-template-columns:106px 1fr;gap:14px;align-items:center;padding:10px 16px;border-top:1px solid var(--border);background:#fff}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#02193261;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.create-dialog{width:min(520px,100%);display:flex;flex-direction:column;gap:16px;padding:22px;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0223463d}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h2{margin:0;font-size:20px}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segmented button{height:38px;border:0;background:#fff;cursor:pointer}.segmented button.selected{color:#fff;background:var(--navy)}.create-dialog input,.create-dialog select{height:39px;padding:0 11px;font-size:13px}.create-dialog textarea{min-height:74px;padding:10px 11px;resize:vertical;font-size:13px}.event-text-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event-details-dialog{width:min(580px,100%);max-height:calc(100dvh - 40px);overflow:auto;display:flex;flex-direction:column;gap:18px;padding:24px;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0223463d}.event-details-dialog .dialog-header{align-items:flex-start}.event-details-dialog h2{margin:5px 0 0;color:var(--ink);font-size:22px}.event-kind{display:inline-flex;padding:4px 8px;border-radius:4px;background:var(--blue-soft);color:#0959b5;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.event-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:15px;border:1px solid var(--border);border-radius:7px;background:#f8fafc}.event-facts p{display:flex;align-items:flex-start;gap:9px;margin:0;color:#46576c;font-size:12px}.event-facts svg{flex:0 0 auto;color:var(--blue)}.event-facts span{display:flex;flex-direction:column;gap:4px}.event-facts b{color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.event-copy{display:grid;grid-template-columns:24px 1fr;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--grid)}.event-copy.notes{padding:14px;border:1px solid #d9e5f2;border-radius:7px;background:#f4f8fd}.event-copy svg{color:var(--blue)}.event-copy h3{margin:0 0 7px;font-size:13px}.event-copy p{margin:0;color:#46576c;font-size:13px;line-height:1.55;white-space:pre-wrap}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.routes-workspace{position:absolute;z-index:10;inset:57px 0 0 136px;display:grid;grid-template-columns:minmax(0,1fr) 370px;background:#fff;overflow:hidden}.routes-main{min-width:0;display:flex;flex-direction:column;overflow:auto;padding:0 12px 18px}.routes-heading{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}.routes-heading h1{margin:0;font-size:22px;letter-spacing:-.35px}.routes-heading>div{display:flex;align-items:center;gap:10px}.routes-heading svg{width:18px}.resource-link,.text-action{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:600;cursor:pointer}.availability-rail{min-height:62px;width:min(500px,100%);display:grid;grid-template-columns:1fr 1px 1fr auto;align-items:center;gap:18px;padding:10px 16px;border:1px solid var(--border);border-radius:6px}.availability-rail>div{display:flex;align-items:center;gap:12px}.availability-rail svg{color:var(--navy)}.availability-rail span{display:flex;flex-direction:column;gap:3px;color:#536278;font-size:11px}.availability-rail b{color:#08643f;font-size:16px}.availability-rail i{width:1px;height:35px;background:var(--border)}.availability-rail small{color:#7a8798;font-size:9px}.route-filters{display:grid;grid-template-columns:145px 145px 150px 160px 160px 1fr;align-items:end;gap:14px;padding:16px 0}.route-filters label,.route-form-dialog label{display:flex;flex-direction:column;gap:6px;color:#46576c;font-size:10px}.route-filters input,.route-filters select,.route-form-dialog input,.route-form-dialog select,.route-form-dialog textarea{width:100%;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--ink)}.route-filters input,.route-filters select{height:36px;padding:0 10px;font-size:11px}.route-filters .clear-filters{margin:0 0 10px;font-size:11px}.route-filters .clear-filters svg{width:16px}.routes-table-wrap{flex:0 0 auto;border:1px solid var(--border);overflow:auto}.routes-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.routes-table th{height:36px;padding:0 10px;border-right:1px solid var(--grid);border-bottom:1px solid var(--border);color:#2d3d52;background:#fbfcfe;font-weight:600;text-align:left}.routes-table th:nth-child(1){width:110px}.routes-table th:nth-child(2){width:150px}.routes-table th:nth-child(3){width:140px}.routes-table th:nth-child(4){width:120px}.routes-table th:nth-child(5){width:125px}.routes-table th:nth-child(6){width:125px}.routes-table th:nth-child(7){width:145px}.routes-table th:nth-child(8){width:54px}.routes-table td{height:54px;padding:7px 10px;border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);color:#25364b;vertical-align:middle;cursor:pointer;overflow:hidden}.routes-table tr:last-child td{border-bottom:0}.routes-table tr:hover td,.routes-table tr.selected td{background:#f4f8fd}.routes-table tr.selected td:first-child{box-shadow:inset 4px 0 var(--blue)}.routes-table td b,.routes-table td span{display:block}.routes-table td>span:not(.route-status){margin-top:3px;color:#67758a}.route-status{display:inline-flex!important;align-items:center;justify-content:center;min-height:25px;padding:3px 8px;border:1px solid #d3dce6;border-radius:4px;background:#f7f9fb;color:#536278;font-size:9px;white-space:nowrap}.route-status.pending_driver,.route-status.pending_approval{border-color:#eda541;background:#fff8e9;color:#9a5700}.route-status.approved,.route-status.completed{border-color:#74c18e;background:#f0fbf3;color:#0a6a34}.route-status.conflict,.route-status.rejected,.route-status.cancelled{border-color:#ff8989;background:#fff2f2;color:#c62222}.route-details{min-width:0;overflow:auto;border-left:1px solid var(--border);padding:0 18px 90px;background:#fff}.route-details-title{min-height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.route-details-title h2{margin:0;font-size:16px}.route-details section{padding:13px 0;border-bottom:1px solid var(--border)}.route-details h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#526176;font-size:10px;font-weight:600}.route-details h3 svg{width:16px;color:var(--navy)}.route-details p{margin:0;color:#22344a;font-size:11px;line-height:1.5}.route-details dl{display:grid;grid-template-columns:70px 1fr;gap:8px 12px;margin:0;font-size:11px}.route-details dt{color:#6a788a}.route-details dd{margin:0;color:#203148}.route-details .conflict-result{margin-top:12px;padding:12px;border:1px solid;border-radius:6px}.route-details .conflict-result.good{border-color:#a9d9b9;background:#f2fbf5}.route-details .conflict-result.bad{border-color:#f4a0a0;background:#fff4f4}.route-details .conflict-result.good h3 svg{color:var(--green)}.route-details .conflict-result.bad h3 svg{color:#d82d2d}.route-details footer{position:absolute;right:0;bottom:0;width:370px;display:grid;grid-template-columns:128px 1fr;gap:12px;padding:14px 18px;border-top:1px solid var(--border);background:#fff}.button.danger{color:#c62222;border:1px solid #eb5353;background:#fff}.availability-timeline{margin-top:12px;border:1px solid var(--border)}.timeline-header{min-height:55px;display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.timeline-header>div:first-child{display:flex;align-items:baseline;gap:22px}.timeline-header h2{margin:0;font-size:13px}.timeline-header span{color:#42536a;font-size:11px}.timeline-nav{display:flex;gap:6px}.timeline-nav button{height:30px;min-width:34px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;border-radius:4px;font-size:10px}.timeline-nav svg{width:15px}.timeline-grid{display:grid;grid-template-columns:158px repeat(7,minmax(90px,1fr));overflow:auto;border-top:1px solid var(--border)}.timeline-row{display:contents}.timeline-corner,.timeline-day,.timeline-label,.timeline-cell{min-height:31px;border-right:1px solid var(--grid);border-bottom:1px solid var(--grid)}.timeline-day{display:grid;place-items:center;color:#3c4e65;font-size:9px}.timeline-day.today{border-bottom:2px solid var(--blue);color:var(--blue);font-weight:700}.timeline-day:last-child{color:#d93434}.timeline-label{display:flex;align-items:center;padding:0 9px;background:#fbfcfe;color:#405168;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-cell{display:flex;align-items:center;padding:3px}.timeline-block{width:100%;min-height:23px;display:grid;place-items:center;border:1px solid;border-radius:3px;font-size:8px}.timeline-block.approved,.timeline-legend i.approved{border-color:#69bd84;background:#eaf8ee;color:#086932}.timeline-block.pending_driver,.timeline-block.pending_approval,.timeline-legend i.pending{border-color:#eca344;background:#fff5df;color:#9b5900}.timeline-block.conflict,.timeline-legend i.conflict{border-color:#ee6f6f;background:#ffeded;color:#bd1f1f}.timeline-legend{min-height:42px;display:flex;align-items:center;gap:26px;padding:0 12px;color:#546379;font-size:9px}.timeline-legend span{display:flex;align-items:center;gap:7px}.timeline-legend i{width:18px;height:9px;border-radius:2px}.timeline-legend i.empty{background:#eef1f5}.route-form-dialog{width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:auto;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0223463d}.route-form-dialog .dialog-header{align-items:flex-start}.route-form-dialog h2,.resource-dialog h2{margin:0;font-size:20px}.route-form-dialog .dialog-header p,.resource-dialog .dialog-header p{margin:5px 0 0;color:var(--muted);font-size:11px}.route-form-grid{display:grid;gap:12px}.route-form-grid.two{grid-template-columns:1fr 1fr}.route-form-grid.three{grid-template-columns:1fr 1fr 1fr}.route-form-dialog input,.route-form-dialog select{height:38px;padding:0 10px;font-size:12px}.route-form-dialog textarea{min-height:65px;padding:9px 10px;resize:vertical;font-size:12px}.form-availability{display:flex;gap:24px;padding:10px 12px;border:1px solid #b9d5f4;border-radius:6px;background:#f5f9fe;color:#3d4f65;font-size:10px}.form-availability span{display:flex;align-items:center;gap:7px}.form-availability svg{width:17px;color:var(--navy)}.form-availability b{color:#087044}.request-driver-toggle{flex-direction:row!important;align-items:center;gap:10px!important;padding:11px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer}.request-driver-toggle>input{width:17px;height:17px}.request-driver-toggle span{display:grid;grid-template-columns:21px 1fr;gap:2px 7px;align-items:center}.request-driver-toggle svg{grid-row:1/3;color:var(--blue)}.request-driver-toggle small{color:#6d7a8c}.route-form-error{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #ee7777;border-radius:5px;background:#fff2f2;color:#b62323;font-size:11px}.route-form-error svg{width:17px}.resource-dialog{width:min(820px,100%);max-height:calc(100dvh - 40px);overflow:auto;display:flex;flex-direction:column;gap:18px;padding:22px;border-radius:10px;background:#fff;box-shadow:0 18px 50px #0223463d}.resource-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.resource-add-grid form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #d8e1eb;border-radius:7px;background:#f8fafc}.resource-add-grid h3{display:flex;align-items:center;gap:7px;margin:0;color:var(--navy);font-size:12px}.resource-add-grid h3 svg{width:18px}.resource-add-grid form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.resource-add-grid label{display:flex;flex-direction:column;gap:4px;color:#58677a;font-size:9px}.resource-add-grid input{min-width:0;height:34px;padding:0 9px;border:1px solid #b8c5d3;border-radius:4px;background:#fff;color:#172a42}.resource-add-grid .button{align-self:flex-end;min-height:34px}.resource-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.resource-columns h3{margin:0 0 10px;font-size:13px}.resource-columns article{min-height:56px;display:grid;grid-template-columns:24px 1fr auto 34px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--grid)}.resource-columns article>svg{color:var(--navy)}.resource-columns article span{display:flex;flex-direction:column;gap:4px;font-size:10px}.resource-columns article small{color:#6b798a}.resource-columns article em{padding:3px 6px;border-radius:3px;background:#eaf8ee;color:#086932;font-size:8px;font-style:normal}.resource-delete{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#a52626;cursor:pointer}.resource-delete:hover{background:#fff1f1}.resource-delete svg{width:16px}.resource-empty{margin:0;padding:18px 12px;border:1px dashed #c9d4e0;border-radius:6px;color:#6b798a;font-size:10px;text-align:center}.mobile-routes{display:none}.pending-card{border-top:5px solid var(--amber)}.organization-workspace{grid-column:2;grid-row:2;min-width:0;overflow:auto;padding:24px 28px 48px;background:#f6f8fb}.organization-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:18px}.organization-header h1{margin:0 0 6px;color:var(--navy);font-size:22px}.organization-header p{margin:0;color:var(--muted);font-size:12px}.organization-summary{min-height:42px;display:grid;grid-template-columns:22px auto 28px;align-items:center;gap:8px;padding:0 13px;border:1px solid #bfd3ea;border-radius:6px;background:#fff;color:#43556c;font-size:10px}.organization-summary svg{color:var(--blue)}.organization-summary b{color:var(--navy);font-size:17px;text-align:right}.organization-message{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:11px 13px;border:1px solid;border-radius:6px;font-size:11px}.organization-message.success{border-color:#add8bd;background:#eff9f2;color:#12683c}.organization-message.error{border-color:#e6a3a3;background:#fff2f2;color:#a52626}.organization-settings,.orbat-section{margin-bottom:18px;padding:18px;border:1px solid #d5dee8;border-radius:8px;background:#fff;box-shadow:0 2px 8px #062b570a}.section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:16px}.section-title>svg{flex:0 0 auto;color:var(--navy)}.section-title h2{margin:0 0 4px;color:#172a42;font-size:15px}.section-title p{margin:0;color:#68778a;font-size:10px;line-height:1.45}.organization-settings form,.unit-add-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,.55fr) auto;align-items:end;gap:12px}.organization-settings label,.unit-add-form label{display:flex;flex-direction:column;gap:6px;color:#58687c;font-size:9px;font-weight:600}.organization-settings input,.organization-settings select,.unit-add-form input,.unit-add-form select{width:100%;height:38px;padding:0 10px;border:1px solid #b8c6d5;border-radius:5px;background:#fff;color:#172a42;font-size:11px}.unit-add-form{margin-bottom:18px;padding:14px;border:1px solid #d9e3ed;border-radius:7px;background:#f8fafc}.orbat-list{border:1px solid #d8e1eb;border-radius:7px;overflow:hidden}.orbat-row{min-height:58px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:8px;padding-right:12px;padding-bottom:8px;border-bottom:1px solid #e5ebf2;background:#fff}.orbat-row:last-child{border-bottom:0}.orbat-node{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#eaf3ff;color:var(--blue)}.orbat-row>div{min-width:0;display:flex;flex-direction:column;gap:4px}.orbat-row b{color:#20344d;font-size:11px}.orbat-row small{color:#748195;font-size:9px}.orbat-row>input{width:min(420px,100%);height:34px;padding:0 9px;border:1px solid var(--blue);border-radius:4px}.orbat-actions{flex-direction:row!important}.orbat-actions svg{width:16px}.danger-icon{color:#a52626}.danger-icon:hover{background:#fff1f1}.orbat-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#708095;text-align:center}.orbat-empty svg{color:#8ba5c0}.orbat-empty h3{margin:4px 0 0;color:#253950;font-size:15px}.orbat-empty p{margin:0;font-size:10px}.admin-users-workspace{grid-column:2;grid-row:2;min-width:0;overflow:auto;padding:24px 28px 40px;background:#f6f8fb}.admin-users-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-bottom:18px}.admin-users-header h1{margin:0 0 6px;color:var(--navy);font-size:22px}.admin-users-header p{margin:0;color:var(--muted);font-size:12px}.admin-summary{min-height:38px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #bfd3ea;border-radius:6px;background:#fff;color:#43556c;font-size:11px}.admin-summary svg{color:var(--blue)}.admin-summary b{color:var(--navy);font-size:15px}.admin-message{margin-bottom:14px;padding:11px 13px;border:1px solid #aecbed;border-radius:6px;background:#edf5ff;color:#174d86;font-size:11px}.admin-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid #d6dfe9;border-radius:8px;background:#fff;color:#68788c;text-align:center}.admin-empty svg{color:var(--green)}.admin-empty h2{margin:4px 0 0;color:#20344d;font-size:17px}.admin-empty p{margin:0;font-size:11px}.registration-list{display:flex;flex-direction:column;gap:12px}.registration-row{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(150px,.65fr) minmax(150px,.65fr) minmax(170px,.8fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid #d5dee8;border-radius:8px;background:#fff;box-shadow:0 2px 8px #062b570a}.registration-identity{min-width:0;display:flex;align-items:center;gap:12px}.registration-avatar{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:700}.registration-identity h2{margin:0;color:#172a42;font-size:13px}.registration-identity p{margin:4px 0;color:#526278;font-size:10px}.registration-identity small{display:block;overflow:hidden;color:#78869a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.registration-row>label{display:flex;flex-direction:column;gap:5px;color:#58687c;font-size:9px;font-weight:600}.registration-row select{width:100%;height:36px;padding:0 9px;border:1px solid #b8c6d5;border-radius:5px;background:#fff;color:#172a42;font-size:10px}.registration-row fieldset{min-width:0;max-height:82px;overflow:auto;margin:0;padding:6px 9px;border:1px solid #cbd6e2;border-radius:5px}.registration-row legend{padding:0 4px;color:#58687c;font-size:9px;font-weight:600}.group-check{display:flex;align-items:center;gap:6px;margin:3px 0;color:#34485f;font-size:9px}.group-check input{width:13px;height:13px;accent-color:var(--blue)}.registration-row footer{display:flex;flex-direction:column;gap:7px}.registration-row footer .button{min-height:34px;justify-content:center;white-space:nowrap}.button.danger{border-color:#d9a4a4;color:#a52626}.button.danger:hover{background:#fff1f1}@media(max-width:1280px){.registration-row{grid-template-columns:minmax(250px,1.2fr) minmax(140px,.7fr) minmax(140px,.7fr)}.registration-row fieldset{grid-column:1 / 3}.registration-row footer{grid-column:3;grid-row:2;flex-direction:row;justify-content:flex-end}}@media(max-width:1180px){.workspace.drawer-visible{right:360px}.ocr-drawer{width:360px}.filters{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.clear-filters{display:none}.toolbar-actions .button{padding:0 12px}.routes-workspace{grid-template-columns:minmax(0,1fr) 330px}.route-details footer{width:330px}.route-filters{grid-template-columns:repeat(5,minmax(110px,1fr))}.route-filters .clear-filters{display:none}.organization-settings form,.unit-add-form{grid-template-columns:1fr 1fr}.organization-settings form .button,.unit-add-form .button{justify-self:start}}@media(max-width:760px){body{overflow:auto}.desktop-shell{display:none}.mobile-routes{min-height:100dvh;display:flex;flex-direction:column;background:#f4f7fb}.mobile-routes>header{position:sticky;top:0;z-index:5;min-height:66px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:env(safe-area-inset-top,0) 10px 0;background:var(--navy);color:#fff}.mobile-routes>header h1{margin:0;text-align:center;font-size:17px}.mobile-routes>header button{display:grid;place-items:center;border:0;background:transparent;color:#fff}.mobile-route-availability{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:#fff;border-bottom:1px solid var(--border)}.mobile-route-availability span{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--border);border-radius:6px;color:#526176;font-size:11px}.mobile-route-availability svg{width:18px;color:var(--navy)}.mobile-route-availability b{margin-left:auto;color:var(--green);font-size:15px}.mobile-routes main{display:flex;flex-direction:column;gap:10px;padding:12px 12px 90px}.mobile-routes article{padding:14px;border:1px solid #d8e0ea;border-radius:8px;background:#fff}.mobile-routes article>div{display:flex;align-items:center;justify-content:space-between}.mobile-routes article time{color:#5d6b7e;font-size:10px}.mobile-routes article h2{margin:12px 0 6px;color:#14263d;font-size:15px}.mobile-routes article h2 small{color:var(--blue)}.mobile-routes article p{margin:0 0 12px;color:#526176;font-size:12px}.mobile-routes article dl{display:grid;grid-template-columns:66px 1fr;gap:6px;margin:0;padding-top:10px;border-top:1px solid var(--grid);font-size:10px}.mobile-routes article dt{color:#748195}.mobile-routes article dd{margin:0;color:#27394f}.mobile-route-add{position:fixed;right:16px;bottom:18px;z-index:6;min-height:50px;display:flex;align-items:center;gap:8px;padding:0 18px;border:0;border-radius:25px;background:var(--blue);color:#fff;box-shadow:0 7px 20px #04346947;font-weight:700}.route-form-dialog{max-height:94dvh;border-radius:12px 12px 0 0}.route-form-grid.two,.route-form-grid.three,.resource-columns,.resource-add-grid{grid-template-columns:1fr}.form-availability{flex-direction:column;gap:8px}.mobile-agenda{min-height:100dvh;display:grid;grid-template-rows:72px 1fr 76px;background:#fff}.mobile-header{position:sticky;top:0;z-index:5;height:72px;display:grid;grid-template-columns:32px 1fr 32px 36px;align-items:center;gap:8px;padding:env(safe-area-inset-top,0) 14px 0;background:var(--navy);color:#fff}.mobile-header h1{margin:0;text-align:center;font-size:17px}.mobile-header svg{width:22px}.mobile-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--navy);font-size:11px;font-weight:700}.mobile-agenda main{min-height:0;overflow:auto;padding-bottom:8px}.mobile-tabs{display:grid;grid-template-columns:1fr 1fr;margin:14px 14px 12px;border:1px solid #95a3b5;border-radius:5px;overflow:hidden}.mobile-tabs button{height:42px;border:0;background:#fff;color:#536176}.mobile-tabs button.active{color:#fff;background:var(--navy)}.mobile-date{display:grid;grid-template-columns:28px 1fr 28px 100px;align-items:center;gap:4px;height:58px;padding:0 14px}.mobile-date svg{width:19px}.mobile-date strong{text-align:center;font-size:14px}.mobile-date button{height:38px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #9aa8b9;border-radius:5px;background:#fff;font-size:12px;font-weight:600}.agenda-day h2{margin:0;padding:10px 14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#f8fafc;font-size:12px}.agenda-row{min-height:100px;display:grid;grid-template-columns:22px 58px 1fr auto;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--grid)}.agenda-marker{width:15px;height:15px;border-radius:50%;background:var(--blue)}.agenda-marker.green{background:var(--green)}.agenda-marker.purple{background:var(--purple)}.agenda-marker.task{background:#fff;border:2px solid #df8a16;border-radius:3px}.agenda-row time{align-self:center;display:flex;flex-direction:column;font-size:14px;font-weight:600}.agenda-row time small{margin-top:3px;color:#68778b;font-size:13px;font-weight:400}.agenda-row>div{display:flex;flex-direction:column;gap:7px}.agenda-row>div strong{font-size:14px;line-height:1.25}.agenda-row>div span{color:#66758a;font-size:12px}.agenda-row em{align-self:start;margin-top:14px;padding:4px 7px;border-radius:4px;background:var(--blue-soft);color:#0959b5;font-size:9px;font-style:normal}.agenda-row em.task{color:#a76000;background:var(--amber-soft)}.mobile-bottom{position:sticky;bottom:0;z-index:6;min-height:76px;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 4px max(7px,env(safe-area-inset-bottom));background:var(--navy);color:#fff}.mobile-bottom button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:#fff;font-size:9px}.mobile-bottom svg{width:21px}.mobile-bottom button.active{background:#0d69d52e}.mobile-bottom button.add{transform:translateY(-26px)}.mobile-bottom button.add svg{width:54px;height:54px;padding:14px;border-radius:50%;background:#0d69d5;box-shadow:0 4px 13px #00000038}.mobile-bottom button.add span{transform:translateY(22px)}.modal-backdrop{align-items:end;padding:0}.create-dialog{max-height:92dvh;overflow:auto;border-radius:12px 12px 0 0}.event-text-fields,.event-facts{grid-template-columns:1fr}.event-details-dialog{max-height:92dvh;border-radius:12px 12px 0 0}.dialog-grid{grid-template-columns:1fr}.ocr-drawer{position:fixed;top:0;width:100%;grid-template-rows:64px auto minmax(0,1fr) auto 76px}.privacy-note{display:flex}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
