@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700;900&family=Outfit:wght@400;600;800&display=swap";:root{--bg-main: #F8FAFC;--bg-sidebar: #FFFFFF;--bg-card: #FFFFFF;--bg-hover: #F1F5F9;--border-light: #E2E8F0;--border-accent: #3B82F6;--border-accent-light: rgba(59, 130, 246, .15);--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--text-white: #FFFFFF;--primary: #2563EB;--primary-hover: #1D4ED8;--primary-glow: rgba(37, 99, 235, .08);--success: #059669;--success-bg: rgba(5, 150, 105, .06);--success-border: rgba(5, 150, 105, .18);--warning: #D97706;--warning-bg: rgba(217, 119, 6, .06);--warning-border: rgba(217, 119, 6, .18);--danger: #DC2626;--danger-bg: rgba(220, 38, 38, .06);--danger-border: rgba(220, 38, 38, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-premium: 0 20px 40px -15px rgba(15, 23, 42, .06);--font-primary: "Inter", "Noto Sans KR", sans-serif;--font-display: "Outfit", sans-serif;--transition-smooth: .2s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--bg-main);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.mobile-menu-btn{display:none}#root{width:100%!important;max-width:100%!important;margin:0!important;text-align:left!important;min-height:100vh;display:flex!important;flex-direction:row!important;border-inline:none!important;box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}button,input,select{font-family:inherit}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-animation{display:inline-block;animation:spin 1s linear infinite}.mobile-header{display:none}@media (max-width: 1024px){#root>div{flex-direction:column!important}aside{position:fixed!important;top:0;left:-320px;width:280px!important;height:100vh!important;z-index:2000!important;transition:left .3s ease-in-out;padding:24px!important;border-right:1px solid var(--border-light)!important;border-bottom:none!important;background-color:var(--bg-sidebar)!important;box-shadow:4px 0 24px #0000001a!important;overflow-y:auto!important}aside.open{left:0!important}.drawer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1500;opacity:0;pointer-events:none;transition:opacity .3s ease}.drawer-overlay.open{opacity:1;pointer-events:auto}.mobile-menu-btn{display:flex!important;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;cursor:pointer;color:var(--text-primary)}.mobile-header{display:flex!important;align-items:center;padding:12px 16px;background-color:var(--bg-main);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:1400}.desktop-header-title{display:none!important}main{padding:12px!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}main>div>div:first-of-type{flex-direction:column!important;align-items:stretch!important;gap:12px!important}main h1{font-size:1.25rem!important;line-height:1.15!important}main>div>div:first-of-type>div{flex-wrap:wrap!important;width:100%!important;gap:8px!important}main>div>div:first-of-type>div>button,main>div>div:first-of-type>div>div{flex:1 1 auto!important;justify-content:center!important}main>div>div:first-of-type>div{flex:1 1 100%!important;max-width:100%!important}main>div>div:first-of-type{margin-bottom:12px!important}main>div>div:first-of-type+div{margin-bottom:12px!important}.week-nav-container{display:flex!important;width:100%!important;justify-content:space-between!important}.monthly-calendar-table{min-width:100%!important}.monthly-calendar-td{padding:4px 2px!important}.monthly-holiday-text{font-size:.5rem!important}}@media (max-width: 1024px) and (orientation: portrait){.monthly-calendar-td{height:60px!important}.monthly-shift-text{display:none!important}.monthly-shift-badge{padding:0!important;height:5px!important;width:100%!important;margin-bottom:3px!important;border-radius:2px!important;display:block!important}}@media (max-width: 1024px) and (orientation: landscape){.monthly-calendar-td{height:auto!important;padding:4px!important}.monthly-shift-text{display:block!important;font-size:.65rem!important;padding:2px 4px!important;margin-bottom:2px!important;width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-shift-badge{display:none!important}}@media (max-width: 1024px){.mobile-only-flex{display:flex!important}.desktop-only-table{display:none!important}div[style*=overflowX],div[style*=overflow-x],.table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:8px!important;border:1px solid var(--border-light)!important}table{min-width:640px!important;width:auto!important;table-layout:auto!important;word-break:break-word!important}th,td{white-space:nowrap!important;padding:10px!important;font-size:.82rem!important}div[style*=gridTemplateColumns],div[style*=grid-template-columns]{grid-template-columns:1fr!important;gap:16px!important}div[style*="zIndex: 1000"]>div{width:95%!important;max-width:95%!important;max-height:90vh!important;overflow-y:auto!important;padding:16px!important}.sidebar-resizer{display:none!important}}.sidebar-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:50;background-color:transparent;transition:background-color .2s ease,opacity .2s ease}.sidebar-resizer:hover{background-color:#2563eb66}.sidebar-resizer.resizing{background-color:var(--primary)!important;width:4px}.green-book-container{display:flex;height:80vh;font-family:sans-serif;line-height:1.6;border-radius:12px;border:1px solid var(--border-light);overflow:hidden}.green-book-container nav{width:250px;background-color:#f4f4f4;padding:20px;border-right:1px solid #ccc;overflow-y:auto}.green-book-container nav ul{list-style-type:none;padding:0}.green-book-container nav li{margin-bottom:10px}.green-book-container nav a{text-decoration:none;color:#333;font-weight:700}.green-book-container nav a:hover{color:#0056b3}.green-book-container main{flex:1;padding:40px;overflow-y:auto;background-color:#fff}.green-book-container h1,.green-book-container h2,.green-book-container h3{color:#333}.green-book-container dt{font-weight:700;margin-top:20px;color:#0056b3;font-size:1.1em}.green-book-container dd{margin-bottom:15px;margin-left:20px}.green-book-container .en{color:#555;font-style:italic;margin-bottom:5px;font-size:.85em}.green-book-container .kr{color:#000}:root{--primary-color: #2c3e50;--bg-color: #f8f9fa;--border-color: #e9ecef;--stage-prep: #0d6efd;--stage-exec: #198754;--stage-rev: #ffc107;--stage-emer: #dc3545}.safety-tasks-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif,맑은 고딕;background-color:var(--bg-color);color:#333;width:100%;background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 20px #00000014}.safety-tasks-container h2{color:var(--primary-color);margin-top:0;margin-bottom:10px;font-size:24px;border-left:5px solid var(--primary-color);padding-left:12px}.safety-tasks-container p.subtitle{color:#6c757d;margin-bottom:30px;font-size:14px}.safety-tasks-container .legend{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;background:#f1f3f5;padding:12px;border-radius:8px}.safety-tasks-container .legend-item{display:flex;align-items:center;font-size:13px;font-weight:600}.safety-tasks-container .legend-color{width:12px;height:12px;border-radius:3px;margin-right:6px}.safety-tasks-container table{width:100%;border-collapse:collapse;text-align:left}.safety-tasks-container th{background-color:var(--primary-color);color:#fff;padding:14px 16px;font-size:15px;font-weight:600}.safety-tasks-container th:nth-child(1){width:5%;text-align:center}.safety-tasks-container th:nth-child(2){width:12%;text-align:center}.safety-tasks-container th:nth-child(3){width:15%;text-align:center}.safety-tasks-container th:nth-child(4){width:20%}.safety-tasks-container th:nth-child(5){width:48%}.safety-tasks-container td{padding:16px;border-bottom:1px solid var(--border-color);font-size:14px;line-height:1.6;vertical-align:middle}.safety-tasks-container tr:hover td{background-color:#fcfcfc}.safety-tasks-container .text-center{text-align:center}.safety-tasks-container .badge{display:inline-block;padding:6px 12px;font-size:12px;font-weight:700;border-radius:30px;color:#fff;text-align:center;white-space:nowrap}.safety-tasks-container .bg-prep{background-color:var(--stage-prep)}.safety-tasks-container .bg-exec{background-color:var(--stage-exec)}.safety-tasks-container .bg-rev{background-color:var(--stage-rev);color:#000}.safety-tasks-container .bg-emer{background-color:var(--stage-emer)}.safety-tasks-container .task-name{font-weight:700;color:#222}.safety-tasks-container td.stage{font-weight:700;text-align:center}.safety-tasks-container .stage-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;color:#fff;margin-bottom:6px}.safety-tasks-container .stage-1{background-color:var(--stage-prep)}.safety-tasks-container .stage-2{background-color:var(--stage-exec)}.safety-tasks-container .stage-3{background-color:var(--stage-rev)}.safety-tasks-container .stage-4{background-color:var(--stage-emer)}.safety-tasks-container .task-category{font-weight:700;color:#333;font-size:15px;margin-bottom:4px}.safety-tasks-container .task-time{font-size:12px;color:#6c757d;font-weight:400}.safety-tasks-container ul.task-list{margin:0;padding-left:20px;color:#444}.safety-tasks-container ul.task-list li{margin-bottom:8px}.safety-tasks-container ul.task-list li:last-child{margin-bottom:0}.safety-tasks-container .highlight{background-color:#fff3cd;padding:2px 4px;border-radius:3px;font-weight:600;color:#856404}.safety-tasks-container .doc-tag{display:inline-block;background-color:#e2e3e5;color:#383d41;font-size:11px;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}.safety-tasks-container .level-badge{display:inline-block;padding:4px 10px;font-size:13px;font-weight:700;border-radius:6px;color:#fff;white-space:nowrap}.safety-tasks-container .level-badge.rookie{background-color:#fef9c3;color:#854d0e;border:1px solid #fef08a}.safety-tasks-container .level-badge.junior{background-color:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.safety-tasks-container .level-badge.senior{background-color:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff}.safety-tasks-container .level-filters{display:flex;gap:10px;margin-bottom:16px}.safety-tasks-container .filter-btn{padding:8px 16px;border-radius:20px;border:1px solid var(--border-color);background:#fff;color:#555;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.safety-tasks-container .filter-btn:hover{background:#f1f3f5}.safety-tasks-container .filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.safety-tasks-container .fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.safety-tasks-container table,.safety-tasks-container thead,.safety-tasks-container tbody,.safety-tasks-container th,.safety-tasks-container td,.safety-tasks-container tr{display:block}.safety-tasks-container thead tr{position:absolute;top:-9999px;left:-9999px}.safety-tasks-container tr{margin-bottom:20px;border:1px solid var(--border-color);border-radius:8px;background:#fff}.safety-tasks-container td{border:none;position:relative;padding:10px 15px 10px 30%;border-bottom:1px solid #eee}.safety-tasks-container td:before{content:attr(data-label);font-weight:700;position:absolute;top:16px;left:16px;width:25%;padding-right:10px;color:var(--primary-color);font-size:12px}.safety-tasks-container .text-center{text-align:left}}.worklog-container{width:100%;padding:24px;background-color:var(--bg-main, #f8fafc);min-height:calc(100vh - 40px);box-sizing:border-box}.worklog-card{background:#fff;border-radius:16px;border:1px solid var(--border-light, #e2e8f0);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;padding:28px;margin-bottom:24px}.worklog-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:2px solid #0f172a}.worklog-title h2{margin:0 0 6px;font-size:1.6rem;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:10px}.worklog-title p{margin:0;color:#64748b;font-size:.9rem}.worklog-actions{display:flex;gap:8px;flex-wrap:wrap}.worklog-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .2s ease}.worklog-btn-primary{background-color:#2563eb;color:#fff}.worklog-btn-primary:hover{background-color:#1d4ed8}.worklog-btn-success{background-color:#10b981;color:#fff}.worklog-btn-success:hover{background-color:#059669}.worklog-btn-outline{background-color:#fff;border-color:#cbd5e1;color:#334155}.worklog-btn-outline:hover{background-color:#f1f5f9;border-color:#94a3b8}.worklog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:16px 20px;background-color:#f8fafc;border-radius:12px;margin:20px 0;border:1px solid #e2e8f0}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:.75rem;font-weight:700;color:#475569}.filter-control{padding:8px 12px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;font-size:.85rem;font-weight:600;color:#0f172a;outline:none}.filter-control:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.worklog-stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.worklog-stat-chip{padding:8px 14px;border-radius:20px;font-size:.85rem;font-weight:700;display:inline-flex;align-items:center;gap:6px}.worklog-table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0}.worklog-table{width:100%;border-collapse:collapse;text-align:center;font-size:.88rem}.worklog-table th{background-color:#f1f5f9;color:#1e293b;font-weight:700;padding:12px 8px;border-bottom:2px solid #cbd5e1;border-right:1px solid #e2e8f0}.worklog-table td{padding:10px 8px;border-bottom:1px solid #e2e8f0;border-right:1px solid #f1f5f9;color:#334155;vertical-align:middle}.worklog-table tr:hover{background-color:#f8fafc}.sign-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s ease}.sign-badge.signed{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.sign-badge.unsigned{background-color:#fee2e2;color:#991b1b;border:1px dashed #f87171}.sign-badge.unsigned:hover{background-color:#fecaca}@media print{@page{margin:8mm}body{background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body *{visibility:hidden}.worklog-card,.worklog-card *{visibility:visible}.worklog-card{position:absolute;left:0;top:0;width:100%!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}.worklog-actions,.worklog-filters,.mobile-header,.sidebar,.print-cols-panel{display:none!important}.worklog-table-wrapper{overflow:visible!important;border:1px solid #1e293b!important;border-radius:0!important}.worklog-table{width:100%!important;table-layout:auto!important;font-size:8.5pt!important;border-collapse:collapse!important}.worklog-table th{background-color:#f1f5f9!important;color:#0f172a!important;border:1px solid #475569!important;padding:6px 4px!important;font-size:8.5pt!important;text-align:center!important}.worklog-table td{border:1px solid #94a3b8!important;padding:5px 4px!important;font-size:8.5pt!important;word-break:break-all!important;white-space:normal!important;text-align:center!important}.worklog-table input[type=text]{border:none!important;background:transparent!important;padding:0!important;font-size:8.5pt!important;width:100%!important;box-sizing:border-box!important;color:#0f172a!important;text-align:center!important}.col-hidden-print{display:none!important}.sign-badge{padding:2px 6px!important;font-size:8pt!important;border-radius:4px!important}}.signature-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.signature-modal-content{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:500px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;gap:16px}.signature-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:12px}.signature-modal-header h3{margin:0;font-size:1.2rem;color:#0f172a}.signature-canvas-container{border:2px dashed #cbd5e1;border-radius:8px;overflow:hidden;background-color:#f8fafc;cursor:crosshair;position:relative;touch-action:none}.signature-canvas{width:100%;height:200px;display:block}.signature-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.btn-signature-clear{padding:8px 16px;background-color:#f1f5f9;border:1px solid #cbd5e1;color:#475569;border-radius:6px;cursor:pointer;font-weight:600}.btn-signature-save{padding:8px 16px;background-color:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.btn-signature-cancel{padding:8px 16px;background-color:transparent;color:#64748b;border:none;cursor:pointer;font-weight:500}.signature-thumbnail{width:100%;max-width:120px;height:40px;object-fit:contain;border:1px solid #e2e8f0;border-radius:4px;background-color:#fff;cursor:pointer}.safety-plan-container{max-width:1200px;margin:0 auto;padding:20px;background-color:#f9fafb;min-height:100vh}.safety-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.safety-plan-header h2{font-size:24px;font-weight:700;color:#111827;display:flex;align-items:center;gap:10px}.safety-plan-actions{display:flex;gap:10px}.btn-print,.btn-save{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-print{background-color:#f3f4f6;color:#374151}.btn-print:hover{background-color:#e5e7eb}.btn-save{background-color:#3b82f6;color:#fff}.btn-save:hover{background-color:#2563eb}.paper-sheet{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:30px}.sheet-title{text-align:center;margin-bottom:30px}.sheet-title h1{font-size:28px;font-weight:800;margin:0;text-transform:uppercase;letter-spacing:-.5px}.sheet-title p{color:#4b5563;margin-top:5px;font-size:16px}.section-header{background-color:#1f2937;color:#fff;padding:8px 12px;font-weight:700;font-size:15px;margin-bottom:15px;display:flex;align-items:center;gap:8px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:#4b5563}.form-group input,.form-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checklist-table{width:100%;border-collapse:collapse;margin-bottom:25px;font-size:14px}.checklist-table th,.checklist-table td{border:1px solid #d1d5db;padding:10px}.checklist-table th{background-color:#f3f4f6;text-align:left;font-weight:600}.checklist-table .radio-group{display:flex;gap:15px;justify-content:center}.checklist-table .radio-group label{display:flex;align-items:center;gap:5px;cursor:pointer}.task-lines{margin-bottom:25px}.task-lines p{font-size:14px;color:#4b5563;margin-bottom:10px}.task-line-input{display:flex;align-items:center;margin-bottom:8px}.task-line-num{width:30px;text-align:center;font-weight:600;color:#6b7280;border:1px solid #d1d5db;border-right:none;padding:8px 0;background-color:#f9fafb}.task-line-input input{flex:1;padding:8px 12px;border:1px solid #d1d5db;font-size:14px}.task-line-input input:focus{outline:none;border-color:#3b82f6}.hazard-table{width:100%;border-collapse:collapse;font-size:13px}.hazard-table th,.hazard-table td{border:1px solid #d1d5db;padding:10px;vertical-align:top}.hazard-table th{background-color:#e5e7eb;font-weight:700;text-align:center}.hazard-item h4{margin:0 0 5px;font-size:14px;color:#111827}.hazard-item p{margin:0;color:#4b5563;font-size:12px}.mitigation-text{width:100%;height:80px;padding:8px;border:1px solid #d1d5db;border-radius:4px;resize:vertical;font-family:inherit;font-size:13px}.mitigation-text:focus{outline:none;border-color:#3b82f6}@media print{body *{visibility:hidden}.safety-plan-container,.paper-sheet,.paper-sheet *{visibility:visible}.paper-sheet{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;box-shadow:none;background:transparent}.safety-plan-header,.btn-print,.btn-save{display:none!important}.section-header{background-color:#333!important;-webkit-print-color-adjust:exact;color-adjust:exact}.hazard-table th,.checklist-table th,.task-line-num{background-color:#e5e7eb!important;-webkit-print-color-adjust:exact;color-adjust:exact}input,select,textarea{border:none!important;border-bottom:1px solid #000!important;border-radius:0!important;padding:2px 0!important;background:transparent!important}textarea{resize:none!important;height:auto!important}}.quick-manpower-container{display:flex;flex-direction:column;gap:18px;width:100%;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.qm-header-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-light, #e2e8f0);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;box-shadow:0 1px 3px #0000000a}.qm-title-area h2{margin:0;font-size:1.2rem;font-weight:800;color:var(--text-primary, #0f172a);display:flex;align-items:center;gap:8px}.qm-title-area p{margin:4px 0 0;font-size:.82rem;color:var(--text-muted, #64748b)}.qm-date-badge-wrap{display:flex;align-items:center;gap:8px;margin-top:8px}.qm-date-input{font-size:.88rem;font-weight:700;color:var(--text-primary, #0f172a);background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:5px 10px;cursor:pointer;outline:none;transition:all .15s}.qm-date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.qm-save-badge{font-size:.75rem;font-weight:700;color:#059669;background:#ecfdf5;padding:3px 8px;border-radius:6px;border:1px solid rgba(5,150,105,.2)}.qm-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qm-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:6px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .15s}.qm-btn-primary{background:#0f172a;color:#fff}.qm-btn-primary:hover{background:#1e293b}.qm-btn-sparkle{background:#2563eb;color:#fff;box-shadow:0 2px 4px #2563eb33}.qm-btn-sparkle:hover{background:#1d4ed8}.qm-btn-outline{background:#fff;border-color:#cbd5e1;color:#334155}.qm-btn-outline:hover{background:#f8fafc;border-color:#94a3b8}.qm-btn-copy{background:#0f172a;color:#fff}.qm-btn-copy:hover{background:#1e293b}.qm-btn-danger{background:#fff;border-color:#fecaca;color:#dc2626}.qm-btn-danger:hover{background:#fef2f2}.qm-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.qm-kpi-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-light, #e2e8f0);border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 2px #00000008;transition:transform .15s,box-shadow .15s}.qm-kpi-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000000d}.qm-kpi-label{font-size:.78rem;font-weight:700;color:#64748b;display:flex;align-items:center;gap:6px}.qm-kpi-value{font-size:1.75rem;font-weight:800;color:#0f172a;letter-spacing:-.5px}.qm-kpi-unit{font-size:.95rem;font-weight:600;color:#64748b;margin-left:3px}.qm-kpi-sub{font-size:.73rem;color:#64748b;font-weight:500}.qm-company-pill{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:700;color:#334155;background:#f1f5f9;padding:3px 8px;border-radius:6px;border:1px solid #e2e8f0}.qm-table-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-light, #e2e8f0);border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000a}.qm-table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px}.qm-toolbar-title{font-size:.9rem;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:6px}.qm-toggle-wrap{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem;font-weight:700;color:#475569;background:#f8fafc;padding:5px 10px;border-radius:6px;border:1px solid #cbd5e1;transition:all .15s}.qm-toggle-wrap:hover{background:#f1f5f9}.qm-toggle-input{accent-color:#0f172a;cursor:pointer}.qm-table-scroll{width:100%;overflow-x:auto}.qm-matrix-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:900px}.qm-matrix-table th{padding:7px 4px;font-weight:700;text-align:center;border:1px solid #e2e8f0;background:#f8fafc;color:#334155}.qm-th-group{background:#f1f5f9!important;color:#1e293b!important;font-size:.84rem;font-weight:800;letter-spacing:-.2px}.qm-th-sec{background:#f8fafc;color:#334155;font-size:.8rem;font-weight:700}.qm-th-sub{background:#fff;color:#64748b;font-size:.72rem;font-weight:700}.qm-th-sub.day-col{color:#d97706;background:#fffbeb}.qm-th-sub.night-col{color:#4f46e5;background:#f5f3ff}.qm-th-sub.tot-col{background:#f8fafc;color:#1e293b}.qm-matrix-table td{padding:4px 2px;border:1px solid #e2e8f0;text-align:center;vertical-align:middle}.qm-matrix-table tbody tr:hover{background-color:#f8fafc}.qm-row-group-cell{width:80px;min-width:75px;text-align:center;padding:4px 6px!important;background:#f8fafc}.qm-row-type-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:.78rem;font-weight:800;letter-spacing:-.2px;border:1px solid transparent}.qm-row-type-badge.pri{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.qm-row-type-badge.prios{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.qm-row-type-badge.sub{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.qm-company-cell{position:relative;min-width:140px;max-width:170px;text-align:left;padding:4px 6px!important}.qm-company-badge{display:inline-flex;align-items:center;justify-content:space-between;width:100%;font-weight:700;font-size:.8rem;padding:5px 8px;border-radius:6px;background:#f1f5f9;color:#1e293b;border:1px solid #e2e8f0}.qm-company-badge.pri{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.qm-company-badge.prios{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.qm-badge-name{font-weight:800;font-size:.82rem}.qm-badge-role{font-size:.68rem;font-weight:700;padding:1px 5px;border-radius:4px;background:#0000000d;letter-spacing:-.2px}.qm-contractor-divider-row td{background:#f8fafc!important;padding:6px 12px!important;border-top:2px solid #cbd5e1!important;border-bottom:1px solid #e2e8f0!important;text-align:left!important}.qm-contractor-divider-content{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:800;color:#475569;letter-spacing:-.2px}.qm-company-input{width:100%;font-size:.8rem;font-weight:700;padding:4px 6px;border:1px solid #cbd5e1;border-radius:5px;outline:none;background:#fff;color:#0f172a;transition:border-color .15s}.qm-company-input:focus{border-color:#3b82f6}.qm-row-actions{display:flex;align-items:center;gap:3px}.qm-btn-del-row{background:transparent;border:none;color:#94a3b8;font-size:.78rem;cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .15s}.qm-btn-del-row:hover{background:#fee2e2;color:#dc2626}.qm-num-input{width:38px;text-align:center;font-size:.82rem;font-weight:700;padding:4px 0;border:1px solid transparent;border-radius:5px;outline:none;background:transparent;color:#0f172a;transition:all .12s ease-in-out}.qm-num-input:hover{border-color:#cbd5e1;background:#fff}.qm-num-input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px #3b82f626}.qm-num-input::placeholder{color:#cbd5e1;font-weight:500}.qm-num-input.is-zero{color:#94a3b8;font-weight:500}.qm-num-input::-webkit-inner-spin-button,.qm-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qm-num-input[type=number]{-moz-appearance:textfield}.qm-cell-sum{font-weight:700;font-size:.82rem;color:#0f172a;background:#f8fafc}.qm-cell-sum.is-zero{color:#94a3b8;font-weight:500}.qm-row-grand-tot{font-weight:800;font-size:.85rem;color:#0f172a;background:#f1f5f9}.qm-row-grand-tot.is-zero{color:#94a3b8;font-weight:500}.qm-matrix-table tfoot td{padding:6px 2px;font-weight:800;border:1px solid #cbd5e1;background:#f8fafc}.qm-tfoot-label{background:#334155!important;color:#fff!important;text-align:center;font-size:.82rem}.qm-tfoot-day{color:#d97706;font-size:.82rem}.qm-tfoot-day.is-zero{color:#94a3b8;font-weight:500}.qm-tfoot-night{color:#4f46e5;font-size:.82rem}.qm-tfoot-night.is-zero{color:#94a3b8;font-weight:500}.qm-tfoot-tot{background:#f1f5f9!important;color:#0f172a;font-size:.85rem;font-weight:800}.qm-tfoot-tot.is-zero{color:#94a3b8;font-weight:500}.qm-add-row-bar{margin-top:10px;display:flex;justify-content:flex-start}.qm-btn-add-row{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:6px;color:#64748b;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;width:100%;justify-content:center}.qm-btn-add-row:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.qm-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .15s ease-out}.qm-modal{background:#fff;border-radius:12px;width:90%;max-width:580px;box-shadow:0 15px 25px -5px #0000001a;overflow:hidden}.qm-modal-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.qm-modal-header h3{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:6px}.qm-modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;max-height:75vh;overflow-y:auto}.qm-modal-footer{padding:14px 20px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:8px}.qm-paste-textarea{width:100%;height:140px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:.85rem;font-family:monospace;outline:none;resize:vertical;line-height:1.4;color:#0f172a;background:#f8fafc;transition:border-color .15s}.qm-paste-textarea:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 2px #2563eb26}.qm-parsed-preview-card{border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:12px}.qm-parsed-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-top:8px}.qm-parsed-table th{background:#e2e8f0;padding:6px 8px;font-weight:700;text-align:left;border:1px solid #cbd5e1}.qm-parsed-table td{padding:6px 8px;border:1px solid #e2e8f0;background:#fff}.pm-container{display:flex;flex-direction:column;gap:24px;max-width:1050px;width:100%;animation:pmFadeIn .2s ease-in-out;color:var(--text-primary, #0f172a)}@keyframes pmFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pm-header{background:var(--bg-card, #ffffff);border:1px solid var(--border-light, #e2e8f0);border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 2px #00000008}.pm-header-top{display:flex;align-items:center;gap:10px}.pm-header-top h1{font-size:1.45rem;font-weight:800;color:var(--text-primary, #0f172a);margin:0;letter-spacing:-.3px}.pm-version-badge{font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:6px;background:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff;letter-spacing:-.2px}.pm-header-subtitle{font-size:.84rem;color:var(--text-secondary, #64748b);margin:0;line-height:1.4}.pm-header-meta{font-size:.78rem;font-weight:600;color:var(--text-muted, #94a3b8);margin-top:2px}.pm-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-light, #e2e8f0);border-radius:12px;padding:24px;box-shadow:0 1px 2px #00000008;display:flex;flex-direction:column;gap:20px}.pm-card-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light, #f1f5f9);padding-bottom:12px}.pm-card-header h2{font-size:1.1rem;font-weight:800;color:var(--text-primary, #1e293b);margin:0;letter-spacing:-.2px}.pm-timeline{position:relative;display:flex;flex-direction:column;gap:0;padding-left:8px}.pm-timeline-item{position:relative;display:grid;grid-template-columns:120px 1fr;gap:24px;padding-bottom:28px}.pm-timeline-item:last-child{padding-bottom:8px}.pm-timeline-item:before{content:"";position:absolute;left:124px;top:14px;bottom:0;width:2px;background:var(--border-light, #e2e8f0)}.pm-timeline-item:last-child:before{display:none}.pm-timeline-date{font-size:.82rem;font-weight:700;color:var(--text-secondary, #64748b);text-align:right;padding-top:2px;white-space:nowrap}.pm-timeline-content{position:relative;padding-left:20px;display:flex;flex-direction:column;gap:4px}.pm-timeline-dot{position:absolute;left:-5px;top:6px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #94a3b8;z-index:2;box-shadow:0 0 0 2px var(--bg-card, #ffffff)}.pm-timeline-item.latest .pm-timeline-dot{border-color:#7e22ce;background:#7e22ce;width:12px;height:12px;left:-6px;top:5px;box-shadow:0 0 0 3px #7e22ce33}.pm-timeline-item.latest .pm-timeline-date,.pm-timeline-item.latest .pm-timeline-title{color:#7e22ce;font-weight:800}.pm-timeline-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-timeline-title{font-size:.88rem;font-weight:700;color:var(--text-primary, #0f172a);line-height:1.4}.pm-current-tag{font-size:.68rem;font-weight:800;padding:1px 6px;border-radius:4px;background:#dcfce7;color:#15803d;border:1px solid #bbf7d0;white-space:nowrap}.pm-timeline-desc{font-size:.82rem;color:var(--text-secondary, #475569);line-height:1.5;margin:0}.pm-table-wrap{overflow-x:auto}.pm-table{width:100%;border-collapse:collapse;font-size:.83rem;text-align:left}.pm-table th{background:var(--bg-table-header, #f8fafc);color:var(--text-secondary, #475569);font-weight:700;padding:10px 14px;border:1px solid var(--border-light, #e2e8f0)}.pm-table td{padding:11px 14px;border:1px solid var(--border-light, #e2e8f0);color:var(--text-primary, #0f172a);vertical-align:top;line-height:1.5}.pm-table tr:hover{background:var(--bg-hover, #f8fafc)}.pm-table td.col-category{font-weight:700;color:var(--text-primary, #1e293b);width:180px;min-width:170px;background:var(--bg-subtle, #fcfcfc)}.pm-sub-label{font-size:.73rem;font-weight:600;color:var(--text-muted, #64748b);margin-top:3px}.pm-table td.col-tech{font-weight:700;color:var(--text-primary, #0f172a);width:200px;min-width:190px}.pm-desc-block{display:flex;flex-direction:column;gap:6px}.pm-desc-easy{font-size:.83rem;color:var(--text-primary, #0f172a);line-height:1.5;display:flex;align-items:baseline;gap:6px}.pm-desc-tech{font-size:.78rem;color:var(--text-secondary, #475569);line-height:1.5;display:flex;align-items:baseline;gap:6px;padding-top:4px;border-top:1px dashed var(--border-light, #e2e8f0)}.pm-desc-tag{font-size:.68rem;font-weight:800;padding:1px 6px;border-radius:4px;white-space:nowrap;letter-spacing:-.2px}.pm-desc-tag.easy{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.pm-desc-tag.tech{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.pm-link{color:#2563eb;text-decoration:none;font-weight:600}.pm-link:hover{text-decoration:underline}.pm-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.pm-feature-box{background:var(--bg-card-sub, #f8fafc);border:1px solid var(--border-light, #e2e8f0);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px}.pm-feature-title{font-size:.92rem;font-weight:800;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border-light, #e2e8f0);padding-bottom:8px;letter-spacing:-.2px}.pm-feature-list{margin:0;padding-left:18px;font-size:.81rem;color:var(--text-secondary, #475569);line-height:1.6}.pm-feature-list li{margin-bottom:4px}.pm-feature-list strong{color:var(--text-primary, #0f172a)}@media (max-width: 640px){.pm-timeline-item{grid-template-columns:85px 1fr;gap:16px}.pm-timeline-item:before{left:89px}.pm-timeline-date{font-size:.75rem}}.landing-container{position:relative;min-height:100vh;width:100vw;background-color:#f8fafc;overflow-x:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.landing-bg-blob{position:absolute;filter:blur(80px);z-index:0;border-radius:50%;opacity:.6;animation:float 20s infinite alternate ease-in-out}.blob-1{top:-10%;left:-10%;width:50vw;height:50vw;background:linear-gradient(135deg,#e0f2fe,#bae6fd);animation-delay:0s}.blob-2{bottom:-20%;right:-10%;width:60vw;height:60vw;background:linear-gradient(135deg,#f3e8ff,#ddd6fe);animation-delay:-5s}.blob-3{top:40%;left:40%;width:40vw;height:40vw;background:linear-gradient(135deg,#ccfbf1,#99f6e4);animation-delay:-10s}@keyframes float{0%{transform:translate(0) scale(1)}33%{transform:translate(5%,5%) scale(1.05)}66%{transform:translate(-2%,8%) scale(.95)}to{transform:translate(0) scale(1)}}.landing-content{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;max-width:1200px;margin:0 auto;padding:0 24px}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0}.landing-logo{display:flex;align-items:center;gap:10px;color:#0f172a;font-weight:900;font-size:1.25rem;letter-spacing:-.02em}.landing-logo svg{color:#2563eb}.landing-lang-btn{background:#fff9;border:1px solid rgba(226,232,240,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 14px;border-radius:10px;font-weight:700;font-size:.85rem;color:#475569;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;box-shadow:0 2px 4px #0000000a}.landing-lang-btn:hover{background:#fff;color:#1e293b;border-color:#cbd5e1;transform:translateY(-1px)}.landing-login-btn{background:#ffffffd9;border:1px solid rgba(203,213,225,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px 24px;border-radius:12px;font-weight:700;font-size:.95rem;color:#1e293b;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000000d}.landing-login-btn:hover{background:#2563eb;color:#fff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 10px 15px -3px #2563eb33}.landing-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 0 80px}.landing-hero{text-align:center;max-width:800px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.landing-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border-radius:9999px;background:#eff6ffd9;border:1px solid rgba(191,219,254,.8);color:#1d4ed8;font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:28px;box-shadow:0 2px 8px #2563eb14}.hero-title{font-size:3.5rem;font-weight:900;line-height:1.2;color:#0f172a;margin:0 0 36px;letter-spacing:-.03em;word-break:keep-all}.hero-site-name{font-size:3.25rem;font-weight:900;color:#1e293b;margin-bottom:8px;letter-spacing:-.02em}.hero-app-name{font-size:3.75rem;font-weight:900;letter-spacing:-.03em}.hero-title .highlight{background:linear-gradient(135deg,#2563eb,#0284c7,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-actions{display:flex;justify-content:center;margin-top:8px}.hero-cta-btn{display:flex;align-items:center;gap:12px;background:#2563eb;color:#fff;border:none;padding:16px 42px;border-radius:14px;font-size:1.1rem;font-weight:800;cursor:pointer;transition:all .2s ease;box-shadow:0 10px 25px #2563eb4d}.hero-cta-btn:hover{background:#1d4ed8;transform:translateY(-2px) scale(1.02);box-shadow:0 20px 35px #2563eb66}.landing-footer{text-align:center;padding:40px 0 32px;display:flex;flex-direction:column;gap:8px}.landing-partner-byline{color:#475569;font-size:1rem;font-weight:700;letter-spacing:-.01em}.landing-copyright{color:#94a3b8;font-size:.85rem;font-weight:500;margin:0}@media (max-width: 900px){.hero-site-name{font-size:2.5rem}.hero-app-name{font-size:2.75rem}}@media (max-width: 600px){.landing-badge{font-size:.72rem;padding:6px 14px;margin-bottom:20px}.hero-site-name{font-size:2rem}.hero-app-name{font-size:2.1rem}.hero-cta-btn{padding:14px 32px;font-size:1rem}.landing-partner-byline{font-size:.9rem}}:root{--ws-bg: #F8FAFC;--ws-surface: #FFFFFF;--ws-surface-sunk: #F1F4F8;--ws-surface-weekend: #F3F6FA;--ws-text: #1E293B;--ws-text-sub: #64748B;--ws-text-muted: #94A3B8;--ws-line: #E2E8F0;--ws-line-strong: #CBD5E1;--ws-radius: 8px;--ws-radius-card: 14px;--shift-day-bg: #E6F1FB;--shift-day-fg: #0C447C;--shift-day-meta: #185FA5;--shift-night-bg: #EEEDFE;--shift-night-fg: #3C3489;--shift-night-meta: #534AB7;--shift-weekendAm-bg: #FAEEDA;--shift-weekendAm-fg: #633806;--shift-weekendAm-meta: #854F0B;--shift-weekendPm-bg: #E1F5EE;--shift-weekendPm-fg: #085041;--shift-weekendPm-meta: #0F6E56;--shift-off-fg: #64748B;--shift-off-bg: transparent;--shift-tbd-border: #CBD5E1;--shift-tbd-fg: #94A3B8;--note-dot: #BA7517;--note-active-bg: #FEF3C7}.schedule-root{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.schedule-topbar{display:flex;flex-direction:column;gap:10px;width:100%;max-width:100%;box-sizing:border-box;margin-bottom:2px}.schedule-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}.schedule-toolbar-row{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap;width:100%}.schedule-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.schedule-title{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--ws-text);display:flex;align-items:center;gap:8px}.schedule-subtitle{margin:0;font-size:.82rem;color:var(--ws-text-sub)}.schedule-seg{display:inline-flex;background:var(--ws-surface-sunk);border-radius:var(--ws-radius);padding:3px;border:1px solid var(--ws-line);gap:2px}.schedule-seg button{border:0;background:none;padding:5px 12px;border-radius:6px;font:inherit;font-size:.82rem;font-weight:700;color:var(--ws-text-sub);cursor:pointer;transition:all .2s ease;white-space:nowrap}.schedule-seg button.active{background:var(--ws-surface);color:#2563eb;box-shadow:0 1px 3px #00000014}.schedule-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-weeknav{display:inline-flex;align-items:center;gap:4px;background:var(--ws-surface);border:1px solid var(--ws-line-strong);border-radius:var(--ws-radius);padding:3px 6px;box-shadow:0 1px 2px #00000008}.schedule-weeknav span{font-weight:700;font-size:.85rem;padding:0 8px;color:var(--ws-text)}.schedule-weeknav button{border:0;background:none;color:var(--ws-text-sub);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s}.schedule-weeknav button:hover:not(:disabled){background:var(--ws-surface-sunk);color:var(--ws-text)}.schedule-weeknav button:disabled{opacity:.35;cursor:not-allowed}.schedule-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ws-line-strong);background:var(--ws-surface);color:var(--ws-text);padding:8px 14px;border-radius:var(--ws-radius);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #00000008}.schedule-btn:hover:not(:disabled){background:var(--ws-surface-sunk);border-color:var(--ws-text-muted)}.schedule-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.schedule-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.schedule-btn--cancel{background:var(--ws-surface);color:var(--ws-text-sub)}.schedule-legend-row{display:flex;justify-content:flex-start;align-items:center;gap:12px;flex-wrap:wrap;width:100%}.schedule-legend{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:12px;flex-wrap:wrap;font-size:.76rem;color:var(--ws-text-sub);padding:5px 12px;background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:8px;box-shadow:0 1px 3px #00000005}.schedule-legend-item{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:.76rem;white-space:nowrap}.schedule-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.schedule-legend-dot.circle{border-radius:50%}.schedule-config-bar{display:flex;justify-content:flex-end;align-items:center;width:100%;margin-top:-6px;margin-bottom:-4px}.schedule-config-btn{border:1px solid var(--ws-line);background:var(--ws-surface-sunk);color:var(--ws-text);padding:5px 12px;border-radius:6px;font-size:.76rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease;white-space:nowrap;box-shadow:0 1px 2px #00000005}.schedule-config-btn:hover{background:#e2e8f0;color:#2563eb;border-color:var(--ws-line-strong)}.shift-block{position:relative;border-radius:7px;padding:4px 6px;min-height:38px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1px;transition:all .15s ease;-webkit-user-select:none;user-select:none;box-sizing:border-box}.shift-block b{display:block;font-size:.8rem;font-weight:700;line-height:1.2}.shift-block span.meta{display:block;font-size:.65rem;font-variant-numeric:tabular-nums;line-height:1.15;font-weight:600;opacity:.9}.shift--day{background:var(--shift-day-bg);border:1px solid rgba(24,95,165,.18)}.shift--day b{color:var(--shift-day-fg)}.shift--day span.meta{color:var(--shift-day-meta)}.shift--night{background:var(--shift-night-bg);border:1px solid rgba(83,74,183,.18)}.shift--night b{color:var(--shift-night-fg)}.shift--night span.meta{color:var(--shift-night-meta)}.shift--weekendAm{background:var(--shift-weekendAm-bg);border:1px solid rgba(133,79,11,.18)}.shift--weekendAm b{color:var(--shift-weekendAm-fg)}.shift--weekendAm span.meta{color:var(--shift-weekendAm-meta)}.shift--weekendPm{background:var(--shift-weekendPm-bg);border:1px solid rgba(15,110,86,.18)}.shift--weekendPm b{color:var(--shift-weekendPm-fg)}.shift--weekendPm span.meta{color:var(--shift-weekendPm-meta)}.shift--off{background:transparent!important;color:#94a3b8!important;border:none!important;min-height:36px;box-shadow:none!important}.shift--off b{color:#94a3b8!important;font-weight:500;font-size:.78rem}.shift--tbd{background:var(--shift-off-bg);border:1px dashed var(--shift-tbd-border);color:var(--shift-tbd-fg);min-height:36px}.shift--tbd b{color:var(--shift-tbd-fg);font-weight:500}.shift-block.has-note{box-shadow:inset 0 0 0 1.5px #f59e0b}.note-dot-btn{position:absolute;top:-4px;right:-4px;width:15px;height:15px;border-radius:50%;background:#f59e0b;color:#fff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;border:1.5px solid #FFFFFF;box-shadow:0 1px 4px #f59e0b66;cursor:pointer;z-index:5;padding:0;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.note-dot-btn:hover{transform:scale(1.3);background:#d97706}.landscape-quick-tools{display:none}.schedule-notes{margin-top:14px;background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius-card);padding:16px 20px;box-shadow:0 2px 6px #00000005}.schedule-notes-title{margin:0 0 10px;font-size:.95rem;font-weight:800;color:var(--ws-text);display:flex;align-items:center;gap:8px}.schedule-notes-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ws-line)}.schedule-notes-item{display:flex;align-items:flex-start;gap:14px;padding:10px 12px;border-bottom:1px solid var(--ws-line);font-size:.85rem;border-radius:6px;transition:background .25s,box-shadow .25s}.schedule-notes-item.is-active{background:var(--note-active-bg);box-shadow:inset 3px 0 #d97706}.schedule-notes-item .when{color:var(--ws-text-sub);white-space:nowrap;min-width:95px;font-weight:700}.schedule-notes-item .who{font-weight:800;color:var(--ws-text)}.schedule-notes-empty{padding:16px 12px;color:var(--ws-text-muted);font-size:.85rem;text-align:center}.timeline-bar-interactive{position:relative;-webkit-user-select:none;user-select:none;touch-action:none;transition:box-shadow .15s ease,filter .15s ease;cursor:grab}.timeline-bar-interactive:hover{filter:brightness(1.03);box-shadow:0 3px 8px #0000001f!important;z-index:10!important}.timeline-bar-interactive.is-dragging{cursor:grabbing!important;opacity:.95;box-shadow:0 6px 16px #0000002e!important;z-index:20!important}.timeline-resize-handle{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize!important;z-index:15;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease}.timeline-bar-interactive:hover .timeline-resize-handle,.timeline-bar-interactive.is-resizing .timeline-resize-handle{opacity:1}.timeline-resize-handle.handle-left{left:0;border-top-left-radius:6px;border-bottom-left-radius:6px}.timeline-resize-handle.handle-right{right:0;border-top-right-radius:6px;border-bottom-right-radius:6px}.timeline-resize-handle:before{content:"";width:3px;height:14px;background:#00000059;border-radius:2px;transition:transform .1s ease,background .1s ease}.timeline-resize-handle:hover:before{background:#2563eb;transform:scaleY(1.3)}.timeline-drag-badge{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:800;white-space:nowrap;pointer-events:none;box-shadow:0 4px 10px #00000040;z-index:30;animation:badgePop .15s cubic-bezier(.34,1.56,.64,1)}.timeline-drag-badge:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);border-width:4px 4px 0 4px;border-style:solid;border-color:#1E293B transparent transparent transparent}@keyframes badgePop{0%{transform:translate(-50%) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.timeline-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeInOverlay .15s ease-out}.timeline-popover-card{background:#fff;border-radius:14px;width:100%;max-width:420px;box-shadow:0 20px 35px -10px #0003,0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow:hidden;animation:scaleUpCard .18s cubic-bezier(.16,1,.3,1)}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes scaleUpCard{0%{transform:scale(.95) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.schedule-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--ws-surface)}.schedule-table{width:100%!important;min-width:100%!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important}.schedule-table th:first-child,.schedule-table td:first-child{position:sticky!important;left:0!important;z-index:2!important;background:#f8fafc!important;box-shadow:1px 0 0 var(--ws-line-strong)!important}.schedule-table thead th{position:sticky!important;top:0!important;z-index:3!important}.schedule-table thead th:first-child{z-index:4!important}@media (max-width: 960px){.schedule-topbar{flex-direction:column;align-items:stretch;gap:12px}.schedule-title-group{width:100%}.schedule-title-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;flex-wrap:wrap}.schedule-actions{width:100%;justify-content:flex-start;gap:8px;flex-wrap:wrap}}@media (max-width: 640px){.schedule-root{gap:10px;width:100%;max-width:100%;overflow-x:hidden}.schedule-topbar{gap:8px;margin-bottom:2px}.schedule-title{font-size:1.15rem;gap:6px}.schedule-subtitle{font-size:.76rem;line-height:1.35}.schedule-seg{padding:2px;gap:2px}.schedule-seg button{padding:4px 8px;font-size:.72rem}.schedule-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%}.schedule-weeknav{padding:2px 4px}.schedule-weeknav span{font-size:.76rem;padding:0 4px;white-space:nowrap}.schedule-weeknav button{padding:3px 6px;font-size:13px}.schedule-btn{padding:5px 10px;font-size:.76rem;gap:4px}.schedule-legend-row{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:3px;scrollbar-width:thin}.schedule-legend{padding:4px 8px;gap:8px;font-size:.68rem;white-space:nowrap;flex-shrink:0}.schedule-legend-item{font-size:.68rem;gap:4px}.schedule-legend-dot{width:7px;height:7px}.schedule-config-bar{margin-top:-2px;margin-bottom:0;width:100%;justify-content:flex-end}.schedule-config-btn{padding:4px 8px;font-size:.72rem}.schedule-notes{padding:12px 14px;margin-top:10px}.schedule-notes-title{font-size:.88rem}.schedule-notes-item{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 6px}.schedule-notes-item .when{min-width:auto;font-size:.74rem}.schedule-notes-item .who{font-size:.8rem}.timeline-popover-card{max-width:95vw;margin:10px}}@media (orientation: landscape) and (max-height: 500px){.schedule-root{gap:6px!important}.schedule-topbar{gap:4px!important;margin-bottom:0!important}.schedule-topbar-row{gap:6px!important;flex-wrap:nowrap!important}.schedule-title{font-size:1.05rem!important;gap:4px!important}.schedule-toolbar-row{gap:6px!important;justify-content:space-between!important}.schedule-subtitle{display:none!important}.schedule-legend-row:not(.show-in-landscape),.schedule-config-bar:not(.show-in-landscape){display:none!important}.landscape-quick-tools{display:inline-flex!important;align-items:center;gap:4px!important}.schedule-seg button{padding:3px 6px!important;font-size:.7rem!important}.schedule-btn{padding:3px 8px!important;font-size:.72rem!important}.schedule-weeknav{padding:1px 3px!important}.schedule-weeknav span{font-size:.72rem!important;padding:0 2px!important}.schedule-weeknav button{padding:2px 4px!important}.schedule-table th,.schedule-table td{padding:4px 2px!important}.shift-block{min-height:28px!important;padding:2px 3px!important}.shift-block b{font-size:.72rem!important}.shift-block span.meta{font-size:.6rem!important}}:root{--ws-bg: #F8FAFC;--ws-surface: #FFFFFF;--ws-surface-sunk: #F1F4F8;--ws-text: #1E293B;--ws-text-sub: #64748B;--ws-text-muted: #94A3B8;--ws-line: #E2E8F0;--ws-line-strong: #CBD5E1;--ws-radius: 8px;--ws-radius-card: 14px;--shift-day-bg: #E6F1FB;--shift-day-fg: #0C447C;--shift-day-meta: #185FA5;--shift-night-bg: #EEEDFE;--shift-night-fg: #3C3489;--shift-night-meta: #534AB7;--shift-week-bg: #FAEEDA;--shift-week-fg: #633806;--shift-week-meta: #854F0B;--shift-off-bg: #F1F5F9;--shift-off-fg: #64748B;--shift-tbd-bg: #F8FAFC;--shift-tbd-fg: #94A3B8;--ws-note-dot: #BA7517;--ws-note-active-bg: #FEF3C7}.ws-container{display:flex;flex-direction:column;gap:16px;width:100%}.ws-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.ws-title-group{display:flex;flex-direction:column;gap:4px}.ws-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ws-title{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--ws-text);display:flex;align-items:center;gap:8px}.ws-subtitle{margin:0;font-size:.85rem;color:var(--ws-text-sub)}.ws-seg{display:inline-flex;background:var(--ws-surface-sunk);border-radius:var(--ws-radius);padding:3px;border:1px solid var(--ws-line)}.ws-seg button{border:0;background:none;padding:5px 14px;border-radius:6px;font:inherit;font-size:.85rem;font-weight:700;color:var(--ws-text-sub);cursor:pointer;transition:all .2s ease}.ws-seg button.active{background:var(--ws-surface);color:#2563eb;box-shadow:0 1px 3px #00000014}.ws-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-weeknav{display:inline-flex;align-items:center;gap:4px;background:var(--ws-surface);border:1px solid var(--ws-line-strong);border-radius:var(--ws-radius);padding:3px 6px;box-shadow:0 1px 2px #00000008}.ws-weeknav span{font-weight:700;font-size:.85rem;padding:0 8px;color:var(--ws-text)}.ws-weeknav button{border:0;background:none;color:var(--ws-text-sub);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s}.ws-weeknav button:hover:not(:disabled){background:var(--ws-surface-sunk);color:var(--ws-text)}.ws-weeknav button:disabled{opacity:.35;cursor:not-allowed}.ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ws-line-strong);background:var(--ws-surface);color:var(--ws-text);padding:8px 14px;border-radius:var(--ws-radius);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #00000008}.ws-btn:hover:not(:disabled){background:var(--ws-surface-sunk);border-color:var(--ws-text-muted)}.ws-btn--primary{background:#2563eb;border-color:#2563eb;color:#fff}.ws-btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.ws-btn--cancel{background:var(--ws-surface);color:var(--ws-text-sub)}.ws-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.8rem;color:var(--ws-text-sub);padding:8px 12px;background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:10px}.ws-legend-item{display:inline-flex;align-items:center;gap:6px;font-weight:600}.ws-legend-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.ws-legend-dot.circle{border-radius:50%}.ws-legend-config-btn{margin-left:auto;border:1px solid var(--ws-line);background:var(--ws-surface-sunk);color:var(--ws-text);padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s}.ws-legend-config-btn:hover{background:#e2e8f0}.ws-card{background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius-card);overflow:hidden;box-shadow:0 2px 10px #00000008}.ws-table-wrapper{overflow-x:auto;width:100%}.ws-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:720px}.ws-table th{padding:12px 6px;font-size:.83rem;font-weight:700;border-bottom:1px solid var(--ws-line-strong);background:#f8fafc;text-align:center;color:var(--ws-text)}.ws-table th.col-date{width:105px;text-align:left;padding-left:14px}.ws-table th small{display:block;font-weight:500;font-size:.72rem;color:var(--ws-text-sub);margin-top:2px}.ws-table tbody tr{border-bottom:1px solid var(--ws-line);transition:background .15s ease;background:#fff}.ws-table tbody tr:hover{background:#f8fafc}.ws-table tbody tr.is-weekend{background:#f1f4f8!important}.ws-table tbody tr.is-weekend:hover{background:#e8edf4!important}.ws-table td{padding:6px 4px;vertical-align:middle}.ws-table td.date-cell{padding:10px 14px;font-size:.85rem;color:var(--ws-text-sub);white-space:nowrap}.ws-table td.date-cell b.dow{color:var(--ws-text);font-weight:800;margin-right:6px;font-size:.95rem;display:inline-block}.ws-table td.date-cell b.dow.sunday,.ws-table td.date-cell b.dow.holiday{color:#dc2626}.ws-table td.date-cell b.dow.saturday{color:#2563eb}.ws-table td.date-cell .date-num{font-size:.82rem;color:var(--ws-text-sub);font-weight:600}.ws-table td.date-cell em{display:block;font-style:normal;font-size:.72rem;color:var(--shift-week-meta);margin-top:2px;font-weight:600;white-space:normal}.ws-shift-card{position:relative;border-radius:7px;padding:5px 8px;min-height:40px;max-width:145px;margin:0 auto;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1px;transition:all .15s ease;-webkit-user-select:none;user-select:none;box-sizing:border-box}.ws-shift-card b{display:block;font-size:.82rem;font-weight:800;line-height:1.2}.ws-shift-card span.meta{display:block;font-size:.68rem;font-variant-numeric:tabular-nums;line-height:1.15;font-weight:600;opacity:.9}.ws-shift--day{background:var(--shift-day-bg);border:1px solid rgba(24,95,165,.18)}.ws-shift--day b{color:var(--shift-day-fg)}.ws-shift--day span.meta{color:var(--shift-day-meta)}.ws-shift--night{background:var(--shift-night-bg);border:1px solid rgba(83,74,183,.18)}.ws-shift--night b{color:var(--shift-night-fg)}.ws-shift--night span.meta{color:var(--shift-night-meta)}.ws-shift--weekend{background:var(--shift-week-bg);border:1px solid rgba(133,79,11,.18)}.ws-shift--weekend b{color:var(--shift-week-fg)}.ws-shift--weekend span.meta{color:var(--shift-week-meta)}.ws-shift--off{background:var(--shift-off-bg);color:var(--shift-off-fg);border:1px solid transparent;min-height:38px}.ws-shift--off b{color:var(--shift-off-fg);font-weight:600}.ws-shift--tbd{background:var(--shift-tbd-bg);border:1px dashed var(--ws-line-strong);color:var(--shift-tbd-fg);min-height:38px}.ws-shift--tbd b{color:var(--shift-tbd-fg);font-weight:500}.ws-note-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--ws-note-dot);cursor:pointer;box-shadow:0 0 0 2px #ba751740;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.ws-note-dot:hover{transform:scale(1.4)}.ws-note-dot:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.ws-notes{margin-top:12px;background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius-card);padding:16px 20px;box-shadow:0 2px 6px #00000005}.ws-notes-title{margin:0 0 10px;font-size:.95rem;font-weight:800;color:var(--ws-text);display:flex;align-items:center;gap:8px}.ws-notes-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ws-line)}.ws-notes-item{display:flex;align-items:flex-start;gap:14px;padding:10px 12px;border-bottom:1px solid var(--ws-line);font-size:.85rem;border-radius:6px;transition:background .25s,box-shadow .25s}.ws-notes-item.is-active{background:var(--ws-note-active-bg);box-shadow:inset 3px 0 #d97706}.ws-notes-item .when{color:var(--ws-text-sub);white-space:nowrap;min-width:90px;font-weight:700}.ws-notes-item .who{font-weight:800;color:var(--ws-text)}.ws-notes-empty{padding:16px 12px;color:var(--ws-text-muted);font-size:.85rem;text-align:center}@media (max-width: 860px){.ws-topbar{flex-direction:column;align-items:stretch}.ws-actions-row{justify-content:space-between}.ws-weeknav{flex:1;justify-content:space-between}}.patrol-container{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1600px;margin:0 auto;font-family:inherit}.patrol-header-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px -3px #0000000a}.patrol-title-badge{font-size:.72rem;font-weight:700;background-color:#f8fafc;color:#64748b;border:1px solid #e2e8f0;padding:3px 10px;border-radius:20px;letter-spacing:-.2px}.patrol-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.patrol-stat-box{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 6px #00000005;transition:transform .15s ease,box-shadow .15s ease}.patrol-stat-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.patrol-stat-box.highlight-pending{border:1.5px solid #f59e0b;background:linear-gradient(135deg,#fff,#fffbeb);box-shadow:0 4px 12px #f59e0b14}.patrol-toolbar{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.patrol-day-tab{display:flex;flex-direction:column;align-items:center;padding:6px 14px;border-radius:10px;border:1px solid #e2e8f0;background-color:#fff;color:#475569;cursor:pointer;font-size:.8rem;font-weight:700;transition:all .15s ease;min-width:58px}.patrol-day-tab:hover{background-color:#f1f5f9}.patrol-day-tab.active{background-color:#eff6ff;border-color:#2563eb;color:#1d4ed8;box-shadow:0 2px 8px #2563eb26}.patrol-bar-item{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.patrol-bar-item:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000001f!important;filter:brightness(.98)}.patrol-bar-delete-btn{opacity:0;pointer-events:none;transition:opacity .15s ease,background-color .15s ease}.patrol-bar-item:hover .patrol-bar-delete-btn{opacity:1;pointer-events:auto}.patrol-bar-delete-btn:hover{background-color:#fee2e2!important}.patrol-bar-item.is-selected{outline:2.5px solid #2563eb!important;box-shadow:0 0 0 4px #2563eb40,0 6px 16px #0000001a!important;z-index:10!important}.patrol-mode-switch{display:flex;align-items:center;background-color:#f1f5f9;padding:3px;border-radius:10px;border:1px solid #e2e8f0}.patrol-mode-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:none;background-color:transparent;color:#64748b;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s ease}.patrol-mode-btn:hover{color:#1e293b}.patrol-mode-btn.active{background-color:#fff;color:#2563eb;box-shadow:0 2px 6px #0000000f}.patrol-mode-btn.active.edit-mode{background-color:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.patrol-summary-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1.5px solid #cbd5e1;border-radius:16px;padding:20px 24px;box-shadow:0 6px 20px -4px #0000000f;animation:slideUpFade .2s ease-out;display:flex;flex-direction:column;gap:16px}@keyframes slideUpFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.patrol-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.patrol-summary-item{display:flex;flex-direction:column;gap:4px;background-color:#fff;padding:12px 14px;border-radius:10px;border:1px solid #e2e8f0}.patrol-summary-label{font-size:.73rem;font-weight:700;color:#64748b;display:flex;align-items:center;gap:5px}.patrol-summary-value{font-size:.92rem;font-weight:800;color:#0f172a}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.patrol-header-card{flex-direction:column;align-items:flex-start;gap:14px}.patrol-toolbar{flex-direction:column;align-items:stretch}.patrol-summary-grid{grid-template-columns:1fr}}
