body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#333;font-size:32px;margin:0 0 10px}.login-header p{color:#666;margin:0}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{color:#999;margin-top:20px;text-align:center}.start-check-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.start-check-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:40px;text-align:center;width:100%}.header h1{color:#333;font-size:28px;margin:0 0 10px}.logout-section{border-top:2px solid #eee;margin-top:30px;padding-top:20px}.logout-btn-bottom{background:#f44336;border:none;border-radius:12px;box-shadow:0 2px 8px #f443364d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s;width:100%}.logout-btn-bottom:hover{background:#d32f2f;box-shadow:0 4px 12px #f4433666;transform:translateY(-1px)}.driver-name{color:#667eea;font-size:18px;font-weight:600;margin:0 0 30px}.date-info{background:#f8f9fa;border-radius:12px;padding:15px}.today-date{color:#555;font-size:16px;font-weight:500;margin:0}.already-confirmed,.not-confirmed{margin:30px 0}.status-icon,.warning-icon{font-size:64px;margin-bottom:20px}.already-confirmed h2{color:#4caf50;font-size:24px;margin:0 0 15px}.not-confirmed h2{color:#ff9800;font-size:24px;margin:0 0 15px}.confirm-time{color:#666;font-size:14px;margin-bottom:25px}.description{color:#666;font-size:15px;line-height:1.6;margin-bottom:30px}.start-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:12px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-size:20px;font-weight:700;margin-bottom:12px;padding:18px;transition:all .3s;width:100%}.start-btn:hover:not(:disabled){box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.start-btn:disabled{background:linear-gradient(135deg,#999,#777);cursor:not-allowed;opacity:.5}.time-restriction{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;margin-bottom:20px;padding:20px}.time-restriction.no-delivery{background:#f5f5f5;border-color:#d7d7d7}.time-restriction.closed{background:#ffebee;border-color:#ef5350}.restriction-message{color:#856404;font-size:18px;font-weight:700;margin:0 0 10px}.start-time-info{color:#856404;font-size:14px;margin:0 0 10px}.time-remaining{color:#ff9800;font-size:20px;font-weight:700;margin:0}.time-restriction.no-delivery .restriction-message,.time-restriction.no-delivery .start-time-info{color:#777}.time-restriction.closed .restriction-message,.time-restriction.closed .start-time-info{color:#b71c1c}.start-window-info{color:#2e7d32;font-size:14px;font-weight:700;margin:0 0 14px}.dashboard-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:18px;transition:all .3s;width:100%}.dashboard-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.skip-btn{background:#0000;border:2px solid #ddd;border-radius:12px;color:#999;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s;width:100%}.skip-btn:hover{border-color:#999;color:#666}.assigned-apartments{border-top:2px solid #eee;margin-top:40px;padding-top:30px}.assigned-apartments h3{color:#333;font-size:16px;margin:0 0 15px}.apartment-list{display:flex;flex-direction:column;gap:10px}.apartment-item{background:#f8f9fa;border-radius:8px;color:#555;font-size:15px;padding:12px;text-align:left}.loading{color:#fff}@media (max-width:768px){.start-check-card{padding:30px 20px}.header h1{font-size:24px}.dashboard-btn,.logout-btn-bottom,.start-btn{font-size:18px;padding:16px}}.start-admin-container{background:#f5f7fa;min-height:100vh;padding:20px}.admin-header{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:20px;margin-bottom:30px;padding:30px}.admin-header h1{color:#333;margin:0}.date-selector{align-items:center;display:flex;gap:15px}.date-selector label{color:#555;font-size:15px;font-weight:600}.date-input{color:#333;cursor:pointer;font-weight:600;padding:10px 15px;transition:all .3s}.date-input:focus,.date-input:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.header-actions{gap:10px}.back-btn,.settings-btn,.start-check-btn,.test-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s}.settings-btn{background:#667eea;color:#fff}.test-btn{background:#ff9800}.start-check-btn,.test-btn{color:#fff}.back-btn{background:#f0f0f0;color:#333}.back-btn:hover,.settings-btn:hover,.start-check-btn:hover,.test-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.settings-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal .modal-content{background:#fff;border-radius:16px;max-height:80vh;max-width:500px;overflow-y:auto;padding:40px;width:90%}.settings-modal h2{color:#333;margin:0 0 30px}.form-group{margin-bottom:25px}.form-group label{color:#555}.text-input,.time-input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px;width:100%}.text-input:focus,.time-input:focus{border-color:#667eea;outline:none}.help-text{color:#999;font-size:13px;margin-top:5px}.help-text a{color:#667eea;text-decoration:none}.modal-actions{gap:10px;margin-top:30px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px;transition:all .3s}.cancel-btn{background:#f0f0f0;color:#333}.save-btn{background:#4caf50;color:#fff}.cancel-btn:hover,.save-btn:hover{transform:translateY(-2px)}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.summary-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;display:flex;gap:20px;padding:30px}.card-icon{font-size:48px}.card-number{font-size:36px;font-weight:700;margin-bottom:5px}.card-label{color:#666;font-size:14px}.summary-card.confirmed .card-number{color:#4caf50}.summary-card.unconfirmed .card-number{color:#ff9800}.drivers-list{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;padding:30px}.drivers-list h2{color:#333;margin:0 0 10px}.date-info{margin-bottom:25px}.drivers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.driver-card{border:3px solid #ddd;border-radius:12px;padding:20px;transition:all .3s}.driver-card.confirmed{background:#f1f8f4;border-color:#4caf50}.driver-card.unconfirmed{background:#fff8f0;border-color:#ff9800}.driver-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.driver-info h3{color:#333;font-size:18px;margin:0 0 5px}.driver-username{color:#999;font-size:13px;margin:0}.status-badge{border-radius:20px;font-size:13px;font-weight:700;padding:6px 14px}.status-badge.confirmed{background:#4caf50;color:#fff}.status-badge.unconfirmed{background:#ff9800;color:#fff}.driver-details{font-size:14px}.driver-settings{align-items:center;border-bottom:1px solid #ddd;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px;padding-bottom:15px}.notification-toggle{align-items:center;cursor:pointer;display:flex;gap:8px}.notification-toggle input[type=checkbox]{cursor:pointer;height:18px;width:18px}.notification-toggle span{color:#555;font-weight:600}.start-time-setting{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.start-time-setting label{color:#555;font-weight:600}.start-lock-admin{align-items:center;background:#fff4d6;border-radius:10px;color:#8b5e00;display:flex;font-weight:700;gap:10px;justify-content:space-between;margin:0 0 15px;padding:12px}.start-lock-admin.no-delivery{background:#f1f3f5;color:#6b7280}.start-lock-admin.closed{background:#fee2e2;color:#991b1b}.force-confirm-btn{background:#b45309;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:800;padding:8px 12px;white-space:nowrap}.force-confirm-btn:hover{background:#92400e}.day-offset-select,.time-input-small{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:6px 10px}.day-offset-select{background:#fff;color:#333;font-weight:700}.driver-delivery-count{color:#2563eb;font-size:13px;font-weight:700;margin:4px 0 8px}.apartments strong,.confirmation-info strong{color:#555;display:block;margin-bottom:5px}.apartments-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:5px}.apartments-header strong{margin-bottom:0}.assignment-edit-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:800;padding:6px 10px;white-space:nowrap}.assignment-edit-btn:hover{background:#1d4ed8}.apartments ul{margin:5px 0 0;padding-left:20px}.apartments li{color:#666;margin:3px 0}.delivery-active-badge{background:#dcfce7;border-radius:999px;color:#166534;display:inline-block;font-size:11px;font-weight:800;margin-left:8px;padding:2px 6px}.no-assignment{color:#999;font-style:italic;margin:5px 0 0}.assignment-editor{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-top:12px;padding:12px}.assignment-editor-top{align-items:center;color:#1e40af;display:flex;font-size:13px;font-weight:800;gap:10px;justify-content:space-between;margin-bottom:10px}.assignment-cancel-btn,.assignment-clear-btn,.assignment-save-btn{border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:800;padding:7px 10px}.assignment-clear-btn{background:#dbeafe;color:#1e40af}.assignment-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:260px;overflow:auto;padding-right:2px}.assignment-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:6px;min-height:36px;padding:8px 10px}.assignment-option.selected{background:#dbeafe;border-color:#2563eb;color:#1e40af}.assignment-option input{flex:0 0 auto;height:16px;margin:0;width:16px}.assignment-option span{overflow-wrap:anywhere;word-break:keep-all}.assignment-loading{color:#64748b;font-size:13px;margin:8px 0}.assignment-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.assignment-cancel-btn{background:#e5e7eb;color:#374151}.assignment-save-btn{background:#16a34a;color:#fff;min-width:80px}.assignment-cancel-btn:disabled,.assignment-clear-btn:disabled,.assignment-option input:disabled,.assignment-save-btn:disabled{cursor:wait;opacity:.6}.confirmation-info-wrapper{align-items:center;border-top:1px solid #ddd;display:flex;gap:15px;justify-content:space-between;margin-top:15px;padding-top:15px}.confirmation-info{flex:1 1}.confirmation-info p{color:#4caf50;font-weight:600;margin:5px 0 0}.reset-btn{background:#ff5722;border:none;border-radius:8px;box-shadow:0 2px 6px #ff57224d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s;white-space:nowrap}.reset-btn:hover{background:#e64a19;box-shadow:0 4px 10px #ff572266;transform:translateY(-1px)}.reset-btn:active{transform:translateY(0)}.loading{color:#666;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.admin-header{flex-direction:column;gap:20px}.header-actions{flex-wrap:wrap;width:100%}.drivers-grid,.summary-cards{grid-template-columns:1fr}}.photo-settings-btn{font-size:14px}.photo-settings-content{max-height:80vh;overflow-y:auto}.dashboard{background:#f5f7fa;min-height:100vh}.dashboard-header{justify-content:space-between}.dashboard-header,.header-left{align-items:center;display:flex}.header-left{gap:20px}.header-right{flex-wrap:wrap;gap:10px}.header-left h1{color:#333;font-size:24px;margin:0}.driver-name{background:#667eea;border-radius:20px;padding:6px 16px}.driver-name,.logout-btn{color:#fff;font-size:14px;font-weight:500}.logout-btn{background:#f44336;border:none;border-radius:8px;cursor:pointer;padding:10px 20px}.dashboard-controls{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:30px;padding:20px 30px}.control-group{align-items:center;display:flex;gap:10px}.control-group label{color:#555;font-weight:600}.apartment-select,.date-input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;min-width:200px;padding:10px 14px}.btn-today{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px}.error-container,.loading,.no-data{color:#666;font-size:18px;padding:60px 20px;text-align:center}.retry-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;margin-top:20px;padding:12px 24px}.go-chart-section{display:flex;justify-content:center;padding-top:20px;width:100%}.btn-go-chart{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:14px 32px;transition:all .3s}.btn-go-chart:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-today-header,.date-input-header{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:15px;padding:10px 16px}.btn-today-header{background:#4caf50;border:none;color:#fff;font-weight:600}.apartment-list-section{margin:40px auto;max-width:1200px;padding:0 30px}.apartment-list-section h2{color:#333;font-size:28px;margin-bottom:10px}.date-info{color:#666;font-size:16px;font-weight:600;margin-bottom:30px}.start-lock-message{background:#fff4d6;border-radius:12px;color:#8b5e00;font-weight:700;margin:-12px 0 24px;padding:12px 16px}.apartment-cards{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.apartment-card-main{background:#fff;border:3px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 16px #0000001a;cursor:pointer;padding:35px 25px;position:relative;text-align:center;transition:all .3s}.apartment-card-main:hover{border-color:#667eea;box-shadow:0 12px 32px #0003;transform:translateY(-8px) scale(1.02)}.apartment-card-main h3{align-items:center;color:#333;display:flex;font-size:22px;font-weight:700;justify-content:center;margin:0 0 15px;min-height:54px}.apartment-card-main .delivery-date{color:#667eea;font-size:15px;font-weight:600;margin:0 0 10px}.apartment-card-main .status-info{background:#667eea1a;border-radius:16px;color:#667eea;display:inline-flex;flex-direction:column;gap:4px;margin:0 0 15px;padding:10px 14px;text-align:left}.apartment-card-main .status-info span{font-size:14px;font-weight:700}.delivery-time-info{background:#eef6ff;border-radius:14px;color:#1d4ed8;display:inline-flex;flex-direction:column;font-size:13px;font-weight:800;gap:4px;margin:0 0 14px;padding:9px 12px;text-align:left}.apartment-card-main .click-hint{color:#999;font-size:14px;margin:0}.apartment-card-main.completed{background:linear-gradient(135deg,#4caf50,#45a049);border-color:#4caf50}.apartment-card-main.completed .click-hint,.apartment-card-main.completed .delivery-date,.apartment-card-main.completed .status-info,.apartment-card-main.completed h3{color:#fff}.apartment-card-main.completed .status-info{background:#ffffff40}.apartment-card-main.completed .delivery-time-info{background:#ffffff40;color:#fff}.apartment-card-main.completed:after{background:#fffffff2;border-radius:20px;color:#4caf50;content:"배송완료";font-size:12px;font-weight:700;padding:6px 12px;position:absolute;right:15px;top:15px}.apartment-card-main.no-data{background:#f5f5f5;border-color:#ccc;cursor:not-allowed;opacity:.7}.apartment-card-main.no-data .delivery-date,.apartment-card-main.no-data h3{color:#999}.apartment-card-main.no-data:hover{border-color:#ccc;box-shadow:0 4px 16px #0000001a;transform:none}.no-data-info{color:#ff9800;font-size:16px;font-weight:600;margin:20px 0}.cooler-bag-info{background:#2196f31a;border-radius:15px;color:#2196f3;display:inline-block;font-size:15px;font-weight:600;margin:0 0 10px;padding:6px 12px}.entrance-password-info{background:#fff4d6;border-radius:14px;color:#8b5e00;display:inline-block;font-size:14px;font-weight:700;margin:0 0 10px;padding:8px 12px}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.header-left{justify-content:space-between}.header-left h1{font-size:18px}.driver-name{font-size:12px;padding:4px 10px}.header-right{justify-content:space-between;width:100%}.date-input-header{flex:1 1;font-size:14px;min-width:0;padding:8px 10px}.btn-today-header{font-size:14px;padding:8px 12px}.logout-btn{font-size:14px;padding:8px 16px}.apartment-list-section{margin:30px auto;padding:0 15px}.apartment-list-section h2{font-size:22px}.date-info{font-size:15px;margin-bottom:20px}.apartment-cards{gap:20px;grid-template-columns:1fr}.apartment-card-main{padding:30px 20px}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding-bottom:40px}.dashboard-header{background:#fff;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px 30px}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.dashboard-header h1{color:#333;font-size:28px;margin:0}.header-actions{flex-wrap:wrap;gap:15px}.header-actions,.header-right{align-items:center;display:flex}.header-right{gap:12px}.admin-menu-wrap{position:relative}.admin-menu-btn{grid-column-gap:12px;grid-row-gap:2px;align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #0f172a14;border-radius:16px;box-shadow:0 4px 12px #0f172a40;color:#fff;column-gap:12px;cursor:pointer;display:grid;grid-template-areas:"label arrow" "meta arrow";grid-template-columns:1fr auto;min-width:220px;padding:12px 16px;row-gap:2px}.admin-menu-btn:hover{background:linear-gradient(135deg,#111827,#334155)}.admin-menu-btn-label{font-size:15px;font-weight:800;grid-area:label;text-align:left}.admin-menu-btn-meta{color:#ffffffb8;font-size:12px;grid-area:meta;text-align:left}.admin-menu-btn-arrow{color:#fffc;font-size:14px;grid-area:arrow}.admin-menu-panel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 24px 48px #0f172a2e;display:flex;flex-direction:column;gap:18px;padding:16px;position:absolute;right:0;top:calc(100% + 8px);width:min(420px,calc(100vw - 32px));z-index:100}.admin-menu-panel-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding-bottom:14px}.admin-menu-panel-header strong{color:#0f172a;display:block;font-size:17px;margin-bottom:4px}.admin-menu-panel-header p{color:#64748b;font-size:13px;line-height:1.5;margin:0}.admin-menu-section{display:flex;flex-direction:column;gap:10px}.admin-menu-section-title{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-menu-section-grid{grid-gap:10px;display:grid;gap:10px}.admin-menu-card{align-items:center;background:#f8fafc;border:1px solid #dbe2ea;border-left-width:5px;border-radius:16px;cursor:pointer;display:flex;gap:14px;justify-content:space-between;padding:14px 16px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;width:100%}.admin-menu-card:hover{border-color:#cbd5e1;box-shadow:0 12px 24px #0f172a14;transform:translateY(-1px)}.admin-menu-card-body{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-menu-card-topline{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.admin-menu-card-title{color:#0f172a;font-size:17px;font-weight:800}.admin-menu-card-description{color:#64748b;font-size:13px;line-height:1.5}.admin-menu-card-arrow{color:#94a3b8;flex-shrink:0;font-size:24px;line-height:1}.admin-menu-chip{align-items:center;background:#e2e8f0;border-radius:999px;color:#334155;display:inline-flex;font-size:11px;font-weight:800;letter-spacing:.03em;padding:4px 8px}.admin-menu-card.tone-teal{border-left-color:#0f766e}.admin-menu-card.tone-violet{border-left-color:#6d28d9}.admin-menu-card.tone-slate{border-left-color:#334155}.admin-menu-card.tone-orange{border-left-color:#ea580c}.admin-menu-card.tone-blue{border-left-color:#2563eb}.admin-menu-card.tone-amber{border-left-color:#d97706}.admin-menu-toggle-card{align-items:center;background:#f8fafc;border:1px solid #dbe2ea;border-radius:16px;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.admin-menu-toggle-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-menu-toggle-card input[type=checkbox]{flex-shrink:0;height:22px;width:22px}.admin-menu-utility-btn{border-radius:14px;font-size:15px;font-weight:700;padding:12px 14px;text-align:center;width:100%}.exclusion-manager-btn{background:#ff5722;border:none;border-radius:8px;box-shadow:0 2px 8px #ff57224d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.exclusion-manager-btn:hover{background:#e64a19;box-shadow:0 4px 12px #ff572266;transform:translateY(-2px)}.date-picker{border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:16px;padding:10px 15px;transition:border-color .3s}.date-picker:focus,.date-picker:hover{border-color:#667eea}.date-picker:focus{outline:none}.builder-btn,.cleanup-btn,.logout-button,.settings-btn,.start-check-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .3s}.logout-button{background:#ff6b6b}.logout-button:hover{background:#ff5252;box-shadow:0 4px 12px #ff6b6b4d;transform:translateY(-2px)}.start-check-btn{background:#2196f3}.start-check-btn:hover{background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-2px)}.cleanup-btn{background:#ff9800}.cleanup-btn:hover{background:#f57c00;box-shadow:0 4px 12px #ff98004d;transform:translateY(-2px)}.settings-btn{background:#5e35b1}.settings-btn:hover{background:#4527a0;box-shadow:0 4px 12px #5e35b159;transform:translateY(-2px)}.builder-btn{background:#0d9488}.builder-btn:hover{background:#0f766e;box-shadow:0 4px 12px #0d948859;transform:translateY(-2px)}.auto-registration-btn{background:#0f766e}.auto-registration-btn:hover{background:#115e59;box-shadow:0 4px 12px #0f766e59;transform:translateY(-2px)}.grand-total-section{margin:0 auto 30px;max-width:1400px;padding:0 30px}.grand-total-section h2{color:#fff;font-size:24px;margin-bottom:20px;text-shadow:0 2px 4px #0003}.grand-total-grid{grid-gap:15px;background:#fffffff2;border-radius:16px;box-shadow:0 8px 24px #00000026;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:25px}.grand-total-item{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;display:flex;justify-content:space-between;padding:15px 20px;transition:transform .2s}.grand-total-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-3px)}.grand-total-item.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;grid-column:1/-1}.grand-total-item .menu-name{color:#333;font-size:16px;font-weight:600}.grand-total-item.total .menu-name{color:#fff;font-size:18px}.grand-total-item .menu-count{color:#667eea;font-size:20px;font-weight:700}.grand-total-item.total .menu-count{color:#fff;font-size:24px}.apartments-section{margin:0 auto;max-width:1400px;padding:0 30px}.apartments-section h2{color:#fff;font-size:24px;margin-bottom:10px;text-shadow:0 2px 4px #0003}.drag-hint{background:#ffffff1a;color:#ffffffe6;font-size:14px;padding:10px 15px}.drag-hint,.drag-hint-active{border-radius:8px;margin-bottom:20px;text-align:center}.drag-hint-active{animation:pulse 2s infinite;background:linear-gradient(135deg,#ff9800,#ff5722);box-shadow:0 4px 12px #ff980066;color:#fff;font-size:15px;font-weight:600;padding:12px 20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.drag-mode-toggle{align-items:center;background:#667eea1a;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:all .3s}.drag-mode-toggle:hover{background:#667eea33}.drag-mode-toggle input[type=checkbox]{cursor:pointer;height:20px;width:20px}.drag-mode-toggle span{color:#333;font-size:15px;font-weight:600}.apartments-list{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.apartment-card{--distribution-group-color:#0000;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;cursor:pointer;display:flex;flex-direction:column;padding:24px;position:relative;transition:all .3s;-webkit-user-select:none;user-select:none}.apartment-card:before{background:var(--distribution-group-color);border-radius:16px 16px 0 0;content:"";height:10px;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.apartment-card.sortable{cursor:grab;touch-action:none}.apartment-card.sortable:active{cursor:grabbing}.apartment-card.dragging{box-shadow:0 20px 50px #0000004d;opacity:.5;transform:rotate(2deg) scale(1.05)}.apartment-card:hover{box-shadow:0 12px 32px #0003;transform:translateY(-8px)}.apartment-card.completed{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:3px solid #4caf50}.apartment-card.completed .apartment-header h3{color:#2e7d32}.apartment-card.completed .total-badge{background:#4caf50}.apartment-card.completed .menu-label{color:#2e7d32}.apartment-card.completed .menu-value{color:#4caf50}.apartment-card.personal:not(.completed){background:linear-gradient(135deg,#fff8e1,#ffe0b2);border:3px solid #ffb74d}.apartment-card.personal:not(.completed) .apartment-header h3{color:#e65100}.apartment-card.personal:not(.completed) .menu-label,.apartment-card.personal:not(.completed) .menu-value{color:#ef6c00}.cooler-bag-badge{background:#2196f326;border-radius:15px;color:#1976d2;display:inline-block;font-size:14px;margin-top:12px;padding:8px 14px}.apartment-card.dragging:hover{transform:rotate(2deg) scale(1.05)}.apartment-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.apartment-title{align-items:center;display:flex;gap:8px}.apartment-header h3{color:#333;font-size:20px;font-weight:700;margin:0}.personal-badge{background:#ffb74d;border-radius:8px;color:#5d4037;font-size:12px;font-weight:700;padding:4px 8px}.total-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:6px 14px;white-space:nowrap}.apartment-address{color:#666;font-size:13px;line-height:1.4;margin:0 0 16px}.apartment-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.apartment-meta-item{align-items:center;background:#f4f6fb;border-radius:999px;color:#4b5563;display:inline-flex;font-size:12px;font-weight:700;padding:6px 10px}.delivery-time-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 14px}.delivery-time-summary span{background:#eef6ff;border-radius:12px;color:#1d4ed8;font-size:12px;font-weight:800;padding:8px 10px;text-align:center}.apartment-card.completed .delivery-time-summary span{background:#ffffff52;color:#1b5e20}.menu-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.menu-item{justify-content:space-between;transition:background .2s}.menu-item:hover{background:#e9ecef}.menu-label{color:#555;font-size:14px;font-weight:500}.menu-value{color:#667eea;font-size:15px;font-weight:700}.card-footer{border-top:1px solid #f0f0f0;margin-top:auto;padding-top:12px;text-align:center}.distribution-group-badge{border-radius:8px;box-shadow:inset 0 -2px 0 #00000029;color:#fff;display:block;font-size:17px;font-weight:900;letter-spacing:0;padding:10px 12px;text-align:center;width:100%}.apartment-card.tone-0,.distribution-group-badge.tone-0{--distribution-group-color:#ef4444}.distribution-group-badge.tone-0{background:var(--distribution-group-color)}.apartment-card.tone-1,.distribution-group-badge.tone-1{--distribution-group-color:#2563eb}.distribution-group-badge.tone-1{background:var(--distribution-group-color)}.apartment-card.tone-2,.distribution-group-badge.tone-2{--distribution-group-color:#16a34a}.distribution-group-badge.tone-2{background:var(--distribution-group-color)}.apartment-card.tone-3,.distribution-group-badge.tone-3{--distribution-group-color:#f97316}.distribution-group-badge.tone-3{background:var(--distribution-group-color)}.apartment-card.tone-4,.distribution-group-badge.tone-4{--distribution-group-color:#7c3aed}.distribution-group-badge.tone-4{background:var(--distribution-group-color)}.apartment-card.tone-5,.distribution-group-badge.tone-5{--distribution-group-color:#0891b2}.distribution-group-badge.tone-5{background:var(--distribution-group-color)}.apartment-card.tone-6,.distribution-group-badge.tone-6{--distribution-group-color:#db2777}.distribution-group-badge.tone-6{background:var(--distribution-group-color)}.apartment-card.tone-7,.distribution-group-badge.tone-7{--distribution-group-color:#65a30d}.distribution-group-badge.tone-7{background:var(--distribution-group-color)}.apartment-card.tone-unassigned,.distribution-group-badge.tone-unassigned{--distribution-group-color:#6b7280}.distribution-group-badge.tone-unassigned{background:var(--distribution-group-color)}.loading,.no-data{box-shadow:0 4px 12px #0000001a;color:#666;font-size:18px;margin:80px auto;max-width:1400px}.error-box,.loading,.no-data{background:#fff;border-radius:16px;padding:40px;text-align:center}.error-box{box-shadow:0 4px 20px #00000026;margin:100px auto;max-width:600px}.error-box h2{color:#ff6b6b;font-size:24px;margin:0 0 20px}.error-message{color:#ff6b6b;font-size:16px;font-weight:600;margin-bottom:10px}.logout-button-error,.retry-button{border:none;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s}.retry-button{background:#667eea;color:#fff}.retry-button:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.logout-button-error{background:#f44336;color:#fff}.logout-button-error:hover{background:#d32f2f;box-shadow:0 4px 12px #f443364d;transform:translateY(-2px)}@media (max-width:768px){.dashboard-header{padding:15px 20px}.header-content{align-items:stretch;flex-direction:column;gap:15px}.dashboard-header h1{font-size:22px}.header-right{flex-wrap:wrap;justify-content:space-between;width:100%}.admin-menu-wrap{width:100%}.admin-menu-btn,.admin-menu-panel{min-width:0;width:100%}.admin-menu-panel{border-radius:18px;margin-top:8px;padding:14px;position:static}.admin-menu-card,.admin-menu-toggle-card{padding:14px}.admin-menu-card-title{font-size:16px}.admin-menu-card-description{font-size:12px}.apartments-section,.grand-total-section{padding:0 20px}.grand-total-grid{padding:20px}.apartments-list,.grand-total-grid,.menu-summary{grid-template-columns:1fr}}@media (max-width:1024px){.header-content{align-items:stretch;flex-direction:column;gap:16px}.header-right{align-items:stretch;flex-wrap:wrap;justify-content:space-between;width:100%}.admin-menu-wrap{width:100%}.admin-menu-panel{right:0}}.modal-content{max-width:900px}.auto-registration-modal{max-width:980px}.auto-registration-manager{display:flex;flex-direction:column;gap:20px}.auto-registration-status-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.auto-registration-run-result,.auto-registration-source,.auto-registration-status-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:16px}.status-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-enabled{color:#047857}.status-disabled{color:#b91c1c}.auto-registration-note{background:linear-gradient(135deg,#eef2ff,#e0f2fe);border:1px solid #c7d2fe;border-radius:12px;color:#1e293b;line-height:1.6;padding:16px 18px}.auto-registration-progress,.auto-registration-run-progress{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;color:#065f46;font-weight:700;line-height:1.5;padding:14px 16px}.auto-registration-progress{display:flex;flex-direction:column;gap:6px}.auto-registration-form{display:flex;flex-direction:column;gap:16px}.auto-registration-webhook-group{display:flex;flex-direction:column;gap:8px}.auto-registration-webhook-group label{color:#1e293b;font-size:15px;font-weight:700}.auto-registration-webhook-input{border:2px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:14px;padding:12px 14px;width:100%}.auto-registration-webhook-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.auto-registration-time-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.auto-registration-time-row label{color:#1e293b;font-size:15px;font-weight:700}.auto-registration-time-input{min-width:180px}.auto-registration-option-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.auto-registration-toggle-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#1e293b;display:flex;font-weight:600;gap:10px;padding:14px 16px}.auto-registration-toggle-item input[type=checkbox]{height:18px;width:18px}.auto-registration-actions{display:flex;flex-wrap:wrap;gap:12px}.auto-registration-dry-run-btn,.auto-registration-refresh-btn,.auto-registration-run-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 18px;transition:all .2s}.auto-registration-dry-run-btn{background:#2563eb}.auto-registration-dry-run-btn:hover{background:#1d4ed8}.auto-registration-run-btn{background:#dc2626}.auto-registration-run-btn:hover{background:#b91c1c}.auto-registration-refresh-btn{background:#475569}.auto-registration-refresh-btn:hover{background:#334155}.auto-registration-actions button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.auto-registration-feedback{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;color:#9a3412;font-weight:600;line-height:1.6;padding:14px 16px;white-space:pre-wrap}.auto-registration-runs{display:flex;flex-direction:column;gap:14px}.auto-registration-runs-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.auto-registration-runs-header h4{color:#0f172a;font-size:20px;margin:0}.auto-registration-runs-header span{color:#64748b;font-size:13px;font-weight:600}.auto-registration-run-list{display:flex;flex-direction:column;gap:14px}.auto-registration-run-item{background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:flex;flex-direction:column;gap:12px;padding:16px}.auto-registration-run-summary,.auto-registration-run-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.auto-registration-run-meta{color:#64748b;font-size:13px;margin-top:4px}.auto-registration-run-status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;padding:6px 10px;white-space:nowrap}.auto-registration-run-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.auto-registration-retry-btn{background:#2563eb;border:none;border-radius:999px;box-shadow:0 6px 14px #2563eb38;color:#fff;cursor:pointer;font-size:12px;font-weight:800;padding:7px 12px;white-space:nowrap}.auto-registration-retry-btn:hover:not(:disabled){background:#1d4ed8}.auto-registration-retry-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.auto-registration-run-status.status-dry_run_success,.auto-registration-run-status.status-success{background:#dcfce7;color:#166534}.auto-registration-run-status.status-running{background:#dbeafe;color:#1d4ed8}.auto-registration-run-status.status-dry_run_partial_failure,.auto-registration-run-status.status-partial_failure,.auto-registration-run-status.status-skipped_already_done,.auto-registration-run-status.status-skipped_existing_charts,.auto-registration-run-status.status-skipped_no_breakfast{background:#fef3c7;color:#92400e}.auto-registration-run-status.status-failed,.auto-registration-run-status.status-mismatch{background:#fee2e2;color:#b91c1c}.auto-registration-run-message{color:#334155;line-height:1.6;white-space:pre-wrap}.auto-registration-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;color:#94a3b8;padding:28px 20px;text-align:center}.loading-small{color:#666;padding:40px 20px}.exclusion-stats,.loading-small{font-size:16px;text-align:center}.exclusion-stats{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-weight:600;margin-bottom:20px;padding:16px 20px}.schedule-apartment{color:#667eea;font-size:18px;font-weight:700;margin-bottom:4px}.schedule-customer .location{color:#333;font-size:15px;font-weight:600}@media (max-width:768px){.schedule-item{flex-direction:column}.modal-content{max-height:90vh;width:95%}.exclusion-manager-btn{width:100%}.auto-registration-time-row{align-items:stretch;flex-direction:column}.auto-registration-actions button,.auto-registration-time-input{width:100%}.auto-registration-run-summary,.auto-registration-run-top{flex-direction:column}}.distribution-badge{animation:bounceIn .5s;background:linear-gradient(135deg,#4caf50,#2e7d32);border-radius:20px;box-shadow:0 4px 12px #4caf5066;color:#fff;font-size:13px;font-weight:700;padding:8px 14px;position:absolute;right:-8px;top:-8px;z-index:10}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.apartment-card.distributed{border:3px solid #4caf50;position:relative}.apartment-card.distributed:not(.completed){background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.menu-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:center;margin-right:8px;position:relative}.menu-checkbox input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.menu-checkbox .checkmark{align-items:center;background:#fff;border:2px solid #ddd;border-radius:6px;display:flex;height:22px;justify-content:center;transition:all .2s;width:22px}.menu-checkbox:hover .checkmark{background:#f1f8e9;border-color:#4caf50}.menu-checkbox input:checked~.checkmark{background:linear-gradient(135deg,#4caf50,#2e7d32);border-color:#4caf50}.menu-checkbox input:checked~.checkmark:after{color:#fff;content:"✓";font-size:14px;font-weight:700}.menu-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:flex-start;padding:10px 14px;transition:all .2s;-webkit-user-select:none;user-select:none}.menu-item:active{transform:scale(.98)}.menu-item.checked{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50}.menu-item.menu-korean-one{background:#f3f8ff;border-color:#4f9df7}.menu-item.menu-korean-two{background:#fff5f5;border-color:#d26a6a}.menu-item.menu-simple{background:#fff7e8;border-color:#ffb347}.menu-item.menu-salad{background:#effaf0;border-color:#55b96b}.menu-item.menu-sandwich{background:#f6f1ff;border-color:#9b72e7}.apartment-card.completed .menu-item.menu-korean-one .menu-label,.apartment-card.completed .menu-item.menu-korean-one .menu-value,.apartment-card.personal:not(.completed) .menu-item.menu-korean-one .menu-label,.apartment-card.personal:not(.completed) .menu-item.menu-korean-one .menu-value,.menu-item.menu-korean-one .menu-label,.menu-item.menu-korean-one .menu-value{color:#1d64b8}.apartment-card.completed .menu-item.menu-korean-two .menu-label,.apartment-card.completed .menu-item.menu-korean-two .menu-value,.apartment-card.personal:not(.completed) .menu-item.menu-korean-two .menu-label,.apartment-card.personal:not(.completed) .menu-item.menu-korean-two .menu-value,.menu-item.menu-korean-two .menu-label,.menu-item.menu-korean-two .menu-value{color:#a43f3f}.apartment-card.completed .menu-item.menu-simple .menu-label,.apartment-card.completed .menu-item.menu-simple .menu-value,.apartment-card.personal:not(.completed) .menu-item.menu-simple .menu-label,.apartment-card.personal:not(.completed) .menu-item.menu-simple .menu-value,.menu-item.menu-simple .menu-label,.menu-item.menu-simple .menu-value{color:#c76b00}.apartment-card.completed .menu-item.menu-salad .menu-label,.apartment-card.completed .menu-item.menu-salad .menu-value,.apartment-card.personal:not(.completed) .menu-item.menu-salad .menu-label,.apartment-card.personal:not(.completed) .menu-item.menu-salad .menu-value,.menu-item.menu-salad .menu-label,.menu-item.menu-salad .menu-value{color:#1f7a36}.apartment-card.completed .menu-item.menu-sandwich .menu-label,.apartment-card.completed .menu-item.menu-sandwich .menu-value,.apartment-card.personal:not(.completed) .menu-item.menu-sandwich .menu-label,.apartment-card.personal:not(.completed) .menu-item.menu-sandwich .menu-value,.menu-item.menu-sandwich .menu-label,.menu-item.menu-sandwich .menu-value{color:#6f42c1}.menu-item.checked.menu-korean-one,.menu-item.checked.menu-korean-two,.menu-item.checked.menu-salad,.menu-item.checked.menu-sandwich,.menu-item.checked.menu-simple{border-color:#4caf50}.menu-item.checked .menu-label{color:#2e7d32;opacity:.7;text-decoration:line-through}.menu-item.checked .menu-value{color:#4caf50}.menu-item .menu-label{color:#555;flex:1 1;font-size:14px;font-weight:500;margin-left:4px}.menu-item .menu-value{color:#667eea;font-size:15px;font-weight:700;margin-left:auto}.save-order-btn{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:8px;box-shadow:0 2px 8px #4caf504d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.save-order-btn:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.menu-summary{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}@media (max-width:768px){.menu-checkbox .checkmark{height:28px;width:28px}.menu-item{padding:12px 14px}.distribution-badge{font-size:12px;padding:6px 10px;right:-6px;top:-6px}.save-order-btn{margin-top:10px;width:100%}}.photo-settings-btn{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;white-space:nowrap}.photo-settings-btn:hover{background:#1976d2}.photo-settings-modal{max-height:85vh;max-width:520px;overflow-y:auto}.photo-setting-group{border-bottom:1px solid #eee;margin-bottom:24px;padding-bottom:20px}.photo-setting-group:last-of-type{border-bottom:none}.photo-setting-group h4{color:#333;font-size:15px;font-weight:700;margin:0 0 10px}.photo-toggle-label{align-items:center;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 14px}.photo-toggle-label input[type=checkbox]{accent-color:#2196f3;height:20px;width:20px}.photo-setting-desc{color:#888;font-size:12px;line-height:1.5;margin:8px 0 0}.retention-input{align-items:center;display:flex;gap:8px}.retention-input input[type=number]{border:1px solid #ddd;border-radius:6px;font-size:15px;padding:8px 10px;text-align:center;width:70px}.retention-input span{color:#555;font-size:14px}.photo-apt-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-apt-item{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 12px;transition:all .15s ease}.photo-apt-item:hover{background:#e3f2fd}.photo-apt-item.required{background:#e3f2fd;border-color:#2196f3;color:#1565c0;font-weight:600}.photo-apt-item input[type=checkbox]{accent-color:#2196f3;height:16px;width:16px}.save-photo-settings-btn{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:15px;font-weight:700;margin-top:10px;padding:12px;width:100%}.save-photo-settings-btn:hover{background:#1976d2}.no-data-small{color:#999;font-size:13px;padding:10px}.delivery-chart{margin:0 auto;max-width:1200px;padding:20px}.chart-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:24px;position:relative}.back-to-main-btn{background:#667eea;border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;margin-bottom:15px;padding:10px 20px;transition:all .3s}.back-to-main-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.chart-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.chart-header-actions .back-to-main-btn{margin-bottom:0}.add-customer-btn{background:#0f766e;border:none;border-radius:8px;box-shadow:0 2px 8px #0f766e4d;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:800;padding:10px 20px;transition:all .3s}.add-customer-btn:hover{background:#0d5f59;box-shadow:0 4px 12px #0f766e66;transform:translateY(-2px)}.chart-header h2{color:#333;font-size:28px;margin:0 0 8px}.chart-header .address{color:#666;margin:0 0 4px}.chart-header .date{color:#667eea;font-weight:600;margin:0}.total-summary{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;margin-bottom:20px;padding:24px}.summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.total-summary h3{font-size:22px;margin:0}.cooler-bag-summary,.flyer-summary{align-items:center;background:#ffffff40;border:2px solid #fff6;border-radius:20px;display:flex;gap:8px;padding:8px 16px}.flyer-icon{font-size:20px}.flyer-text{font-size:16px;font-weight:500}.flyer-text strong{font-size:18px;margin-left:4px}.cooler-icon{font-size:20px}.cooler-text{font-size:16px;font-weight:500}.cooler-text strong{font-size:18px;margin-left:4px}.menu-tags{display:flex;flex-wrap:wrap;gap:10px}.menu-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;font-size:15px;padding:8px 16px}.menu-tag strong{font-size:18px;margin-left:4px}.dong-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:8px}.dong-tabs button{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;flex:0 0 auto;font-size:15px;font-weight:500;padding:12px 20px;position:relative;transition:all .3s;white-space:nowrap}.dong-tabs button.completed{background:#4caf50!important;border-color:#4caf50!important;color:#fff!important;position:relative}.dong-tabs button.completed:before{color:#fff;content:"✓";font-size:22px;font-weight:700;left:8px;position:absolute;top:50%;transform:translateY(-50%)}.dong-tabs button.completed:after{bottom:2px;color:#ffffffe6;content:"완료";font-size:10px;font-weight:600;position:absolute;right:6px}.dong-tabs button.active{background:#667eea;border-color:#667eea;color:#fff}.dong-tabs button:hover:not(.active){background:#f0f0ff;border-color:#667eea}.dong-summary{background:#fff;border-left:4px solid #667eea;border-radius:8px;margin-bottom:16px;padding:16px 20px}.dong-summary h4{color:#333;font-size:16px;margin:0 0 12px}.menu-tags.small .menu-tag{background:#f0f0ff;color:#667eea;font-size:14px;padding:6px 12px}.completion-guide{animation:fadeInGuide .3s ease;background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:10px;box-shadow:0 3px 10px #2196f34d;color:#fff;font-size:15px;font-weight:600;margin:0 0 20px;padding:14px 20px;text-align:center}@keyframes fadeInGuide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.delivery-list{display:flex;flex-direction:column;gap:12px}.order-item{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 4px #00000014;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;position:relative;transition:all .3s}.order-item:hover{box-shadow:0 4px 12px #00000026;transform:translateX(4px)}.order-item.multi-order{background:#fff8f0;border:3px solid #ff9800;border-left-width:6px;box-shadow:0 2px 8px #ff980033;margin-bottom:8px;margin-top:8px}.order-item.multi-order:hover{box-shadow:0 4px 16px #ff980059}.order-item.highlighted{background:#fffacd;border-left-color:gold;box-shadow:0 4px 16px #ffd70066;position:relative;z-index:10}.order-item.dimmed{filter:grayscale(50%);opacity:.3}.order-item.focused{border:3px solid #667eea;box-shadow:0 6px 20px #667eea66;transform:scale(1.02)}.order-item.first-purchase{background:#e3f2fd;border-left-color:#2196f3}.cooler-bag-badge{background:#2196f3}.cooler-bag-badge,.flyer-badge{border-radius:12px;color:#fff;font-size:13px;font-weight:600;margin-left:8px;padding:4px 12px}.dong-flyer-badge,.flyer-badge{background:#f39c12}.dong-flyer-badge{border-radius:10px;color:#fff;font-size:12px;font-weight:600;margin-left:8px;padding:4px 10px}.order-item.completed{background:#f5f5f5;border-left-color:#9e9e9e;opacity:.7}.order-item.completed .customer-name,.order-item.completed .dong,.order-item.completed .ho,.order-item.completed .menu{color:#999}.completed-badge{background:#9e9e9e;border-radius:12px;color:#fff;font-size:13px;font-weight:600;margin-left:8px;padding:4px 12px}.manual-override-badge{background:#5e35b1;font-weight:700}.manual-addition-badge,.manual-override-badge{border-radius:12px;color:#fff;font-size:12px;margin-left:8px;padding:4px 10px}.manual-addition-badge{background:#0f766e;font-weight:800}.completed-time{background:#0000000d;border-radius:8px;color:#999;font-size:12px;font-style:italic;padding:4px 8px}.order-location{align-items:center;display:flex;gap:8px;min-width:120px}.dong-ho{align-items:baseline;color:#000;display:flex;font-weight:700;gap:2px;letter-spacing:-.5px}.dong-part{font-size:18px;font-weight:600}.separator{color:#666;font-size:20px;font-weight:700}.ho-part{font-size:26px;font-weight:700}.order-details{align-items:flex-start;flex:1 1;padding:0 20px}.delivery-note-banner,.order-details{display:flex;flex-direction:column;gap:6px}.delivery-note-banner{background:#fff1f0;border:1px solid #ffb3ad;border-radius:10px;box-shadow:inset 0 0 0 1px #c628280a;margin-top:4px;padding:10px 12px;width:100%}.delivery-note-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.delivery-note-label{color:#b71c1c;font-size:12px;font-weight:800;letter-spacing:.02em}.delivery-note-period{color:#d84315;font-size:12px;font-weight:700}.delivery-note-text{color:#c62828;font-size:13px;font-weight:700;line-height:1.45;word-break:break-word}.admin-order-tools{gap:10px;min-width:180px}.admin-cooler-controls,.admin-order-tools{align-items:flex-end;display:flex;flex-direction:column}.admin-cooler-controls{gap:8px}.admin-cooler-button{border:none;border-radius:12px;box-shadow:0 2px 8px #0000001f;cursor:pointer;font-size:12px;font-weight:700;min-width:88px;padding:8px 12px}.admin-cooler-button.add{background:#1565c0;color:#fff}.admin-cooler-button.remove{background:#ef6c00;color:#fff}.admin-cooler-button.reset{background:#eceff1;color:#37474f}.admin-cooler-button:disabled{cursor:wait;opacity:.6}.admin-note-controls{width:100%}.admin-note-summary-text{color:#6d4c41;font-size:12px;font-weight:700;margin:0 0 8px;text-align:right}.admin-note-editor{flex-direction:column;width:100%}.admin-note-editor,.admin-note-mode-selector{display:flex;gap:8px}.admin-note-mode-option{align-items:center;background:#fff;border:1px solid #d7dbe0;border-radius:12px;color:#455a64;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:700;gap:6px;justify-content:center;padding:10px 12px}.admin-note-mode-option.selected{background:#fff1f0;border-color:#ef5350;color:#c62828}.admin-note-mode-option input{margin:0}.admin-note-date-range{display:flex;gap:8px}.admin-note-date-field{color:#6d4c41;display:flex;flex:1 1;flex-direction:column;font-size:12px;font-weight:700;gap:4px}.admin-note-date-input{border:1px solid #d7dbe0;border-radius:12px;box-sizing:border-box;font-size:13px;padding:10px 12px;width:100%}.admin-note-date-input:focus{border-color:#ef5350;box-shadow:0 0 0 3px #ef535026;outline:none}.admin-note-textarea{border:1px solid #d7dbe0;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:13px;line-height:1.45;min-height:88px;padding:10px 12px;resize:vertical;width:100%}.admin-note-textarea:focus{border-color:#ef5350;box-shadow:0 0 0 3px #ef535026;outline:none}.admin-note-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.admin-note-button{border:none;border-radius:12px;box-shadow:0 2px 8px #0000001f;cursor:pointer;font-size:12px;font-weight:700;min-width:88px;padding:8px 12px}.admin-note-button.edit{background:#d84315;color:#fff;width:100%}.admin-note-button.save{background:#c62828;color:#fff}.admin-note-button.cancel{background:#eceff1;color:#37474f}.admin-note-button.delete{background:#6d4c41;color:#fff}.admin-note-button:disabled{cursor:wait;opacity:.6}.admin-exclusion-controls{display:flex;flex-direction:column;gap:6px;width:100%}.admin-exclusion-button{border:none;border-radius:12px;box-shadow:0 2px 8px #0000001f;cursor:pointer;font-size:12px;font-weight:800;min-width:88px;padding:8px 12px}.admin-exclusion-button.remove{background:#b91c1c;color:#fff;width:100%}.admin-exclusion-button.restore{background:#047857;color:#fff}.admin-exclusion-button.cancel-addition{background:#0f766e;color:#fff;width:100%}.admin-menu-edit-actions{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr;width:100%}.admin-exclusion-button.edit-menu{background:#1d4ed8;color:#fff;width:100%}.admin-exclusion-button.restore-menu{background:#334155;color:#fff;width:100%}.admin-exclusion-button:disabled{cursor:wait;opacity:.6}.excluded-orders-section{background:#fff7f7;border:1px solid #fecaca;border-radius:12px;margin-top:16px;padding:16px}.excluded-orders-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.excluded-orders-header h3{color:#991b1b;font-size:16px;margin:0}.excluded-orders-header span{color:#b91c1c;font-size:13px;font-weight:800}.excluded-orders-list{display:flex;flex-direction:column;gap:8px}.excluded-order-item{align-items:center;background:#fff;border:1px solid #fee2e2;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:12px}.excluded-order-main{align-items:center;color:#4b5563;display:flex;flex-wrap:wrap;gap:8px}.excluded-order-main strong{color:#111827;font-size:16px}.excluded-menu-list{display:flex;flex-wrap:wrap;gap:6px}.customer-name{color:#999;font-size:14px;font-weight:400}.menu{border-radius:12px;color:#666;display:inline-block;font-size:15px;font-weight:600;max-width:-webkit-max-content;max-width:max-content;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.menu-list{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.menu-tag.menu-korean-1{background:#2196f38c;border:1px solid #2196f3cc}.menu-tag.menu-korean-2{background:#f443368c;border:1px solid #f44336cc}.menu-tag.menu-convenience{background:#ff98008c;border:1px solid #ff9800cc}.menu-tag.menu-salad{background:#4caf508c;border:1px solid #4caf50cc}.menu-tag.menu-sandwich{background:#9e9e9e8c;border:1px solid #9e9e9ecc}.menu-tag.menu-default{background:#ffffff4d;border:1px solid #ffffff80}.menu.menu-korean-1{background:#e3f2fd;border:1px solid #90caf9;color:#1976d2}.menu.menu-korean-2{background:#ffebee;border:1px solid #ef9a9a;color:#c62828}.menu.menu-convenience{background:#fff3e0;border:1px solid #ffb74d;color:#e65100}.menu.menu-salad{background:#e8f5e9;border:1px solid #81c784;color:#2e7d32}.menu.menu-sandwich{background:#f5f5f5;border:1px solid #bdbdbd;color:#616161}.menu.menu-default{background:#fafafa;color:#666}.multi-badge{background:#ff9800;border-radius:16px;color:#fff;font-size:13px;font-weight:600;padding:6px 12px}.order-checkbox{accent-color:#4caf50;cursor:pointer;height:28px;position:absolute;right:16px;top:16px;width:28px;z-index:10}.complete-button-inline{border-radius:20px;box-shadow:0 2px 8px #4caf504d;font-size:14px;font-weight:600;padding:8px 16px;right:55px;top:12px;transition:all .2s}.complete-button-inline:hover{box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.complete-button-inline:active{transform:translateY(0)}.confirm-button{background:#4caf50;border:none;border-radius:30px;bottom:80px;box-shadow:0 4px 12px #4caf5066;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;position:fixed;right:20px;transition:all .3s;z-index:100}.confirm-button:hover{background:#45a049;box-shadow:0 6px 16px #4caf5080}.confirm-button .badge{background:#fff;border-radius:12px;color:#4caf50;font-weight:700;margin-left:8px;padding:2px 8px}.completed-info{align-items:center;color:#666;display:flex;font-size:13px;font-style:italic;justify-content:space-between;margin-top:8px}.undo-button{background:#ff9800;border:none;border-radius:18px;box-shadow:0 2px 6px #ff98004d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;position:absolute;right:16px;top:12px;transition:all .2s;z-index:10}.undo-button:hover{background:#f57c00;box-shadow:0 4px 10px #ff980066;transform:translateY(-1px)}.undo-button:active{transform:translateY(0)}.remaining-count{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;bottom:0;box-shadow:0 -4px 12px #0000001a;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:20px;padding:16px 20px;position:-webkit-sticky;position:sticky;text-align:center;transition:all .3s ease;z-index:50}.remaining-count:hover{background:linear-gradient(135deg,#5568d3,#653a8a);box-shadow:0 -6px 16px #00000026}.remaining-count.expanded{border-radius:12px;margin-bottom:20px}.remaining-summary{margin-bottom:0}.remaining-detail{animation:slideDown .3s ease;border-top:2px solid #ffffff4d;margin-top:20px;padding-top:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.detail-title{color:#ffffffe6;font-size:16px;font-weight:600;margin-bottom:12px}.menu-detail-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:15px}.menu-detail-item{align-items:center;background:#fff3;border-radius:10px;display:flex;justify-content:space-between;padding:10px 14px}.menu-detail-name{font-size:15px;font-weight:500}.menu-detail-count{font-size:16px;font-weight:700}.detail-total{color:#ffffffd9;font-size:15px;font-weight:500}.dong-summary-box{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:12px;box-shadow:0 4px 12px #ff98004d;margin-bottom:20px;padding:20px}.dong-summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.dong-summary-box h4{color:#fff;font-size:18px;font-weight:700;margin:0}.dong-cooler-badge{background:#2196f3;border-radius:20px;box-shadow:0 2px 6px #2196f366;color:#fff;font-size:14px;font-weight:600;padding:6px 14px}.dong-menu-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dong-menu-item{align-items:center;background:#fffffff2;border-radius:10px;box-shadow:0 2px 6px #0000001a;display:flex;justify-content:space-between;padding:12px 16px}.dong-menu-name{color:#e65100;font-size:15px;font-weight:600}.dong-menu-count{color:#ff6f00;font-size:17px;font-weight:700}.dong-menu-item.menu-korean1{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #1976d2}.dong-menu-item.menu-korean1 .dong-menu-name{color:#1565c0}.dong-menu-item.menu-korean1 .dong-menu-count{color:#1976d2}.dong-menu-item.menu-korean2{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left:4px solid #d32f2f}.dong-menu-item.menu-korean2 .dong-menu-name{color:#c62828}.dong-menu-item.menu-korean2 .dong-menu-count{color:#d32f2f}.dong-menu-item.menu-simple{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #f57c00}.dong-menu-item.menu-simple .dong-menu-name{color:#e65100}.dong-menu-item.menu-simple .dong-menu-count{color:#f57c00}.dong-menu-item.menu-salad{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #388e3c}.dong-menu-item.menu-salad .dong-menu-name{color:#2e7d32}.dong-menu-item.menu-salad .dong-menu-count{color:#388e3c}.dong-menu-item.menu-sandwich{background:linear-gradient(135deg,#fafafa,#e0e0e0);border-left:4px solid #616161}.dong-menu-item.menu-sandwich .dong-menu-name{color:#424242}.dong-menu-item.menu-sandwich .dong-menu-count{color:#616161}.dong-completed-actions{background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px 12px 0 0;bottom:0;box-shadow:0 -4px 16px #4caf5066;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px;padding:20px;position:-webkit-sticky;position:sticky;z-index:50}.action-btn{border:none;border-radius:10px;box-shadow:0 4px 12px #0003;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;max-width:250px;min-width:150px;padding:14px 24px;transition:all .3s}.action-btn.scroll-top{background:#fff;color:#4caf50}.action-btn.scroll-top:hover{background:#f1f8f4;box-shadow:0 6px 16px #00000040;transform:translateY(-3px)}.action-btn.next-dong{background:#ff9800;color:#fff}.action-btn.next-dong:hover{background:#f57c00;box-shadow:0 6px 16px #ff980066;transform:translateY(-3px)}.action-btn.go-home{background:#2196f3;color:#fff}.action-btn.go-home:hover{background:#1976d2;box-shadow:0 6px 16px #2196f366;transform:translateY(-3px)}.error-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000026;margin:100px auto;max-width:600px;padding:40px;text-align:center}.error-container h2{color:#ff6b6b;font-size:24px;margin:0 0 20px}.error-container .error{color:#ff6b6b;font-size:16px;font-weight:600;margin-bottom:10px}.error-hint{color:#999;font-size:14px;margin-bottom:30px}.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.home-btn,.retry-btn{border:none;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s}.retry-btn{background:#667eea;color:#fff}.retry-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.home-btn{background:#2196f3;color:#fff}.home-btn:hover{background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-2px)}.no-orders{color:#999;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.order-item{align-items:flex-start;flex-direction:column;gap:12px}.order-location{width:100%}.order-details{padding:0;width:100%}.admin-cooler-controls,.admin-order-tools{align-items:stretch;width:100%}.admin-order-tools{min-width:0}.admin-note-summary-text{text-align:left}.admin-note-date-range,.admin-note-mode-selector{flex-direction:column}.admin-cooler-button,.admin-exclusion-button{width:100%}.admin-note-actions{flex-direction:column}.admin-note-button{width:100%}.multi-badge{align-self:flex-end}.excluded-order-item{align-items:stretch;flex-direction:column}.excluded-order-main{align-items:flex-start}}.complete-button-inline{animation:pulseButton 2s infinite;background:#4caf50;border:none;border-radius:10px;box-shadow:0 0 0 0 #4caf50b3;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;position:absolute;right:16px;top:50%;transform:translateY(20%);transition:all .3s;z-index:10}@keyframes pulseButton{0%{box-shadow:0 0 0 0 #4caf50b3}50%{box-shadow:0 0 0 10px #4caf5000}to{box-shadow:0 0 0 0 #4caf5000}}.complete-button-inline:before{animation:pointToButton 1.5s infinite;background:#ff9800;border-radius:6px;color:#fff;content:"눌러주세요 →";font-size:12px;font-weight:600;margin-right:8px;padding:5px 10px;position:absolute;right:100%;top:50%;transform:translateY(-50%);white-space:nowrap}@keyframes pointToButton{0%,to{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(5px)}}.complete-button-inline:hover{animation:none;background:#45a049;transform:translateY(20%) scale(1.05)}.complete-button-inline:hover:before{display:none}.complete-button-inline:active{transform:translateY(20%) scale(.98)}.exclusion-list-btn{background:#ff5722;border:none;border-radius:8px;box-shadow:0 2px 8px #ff57224d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;position:absolute;right:24px;top:24px;transition:all .3s}.exclusion-list-btn:hover{background:#e64a19;box-shadow:0 4px 12px #ff572266;transform:translateY(-2px)}.exclusion-btn{background:#0000;border:none;cursor:pointer;font-size:24px;padding:4px 8px;position:absolute;right:120px;top:16px;transition:all .2s;z-index:10}.exclusion-btn:hover{transform:scale(1.2)}.modal-overlay{align-items:center;animation:fadeIn .2s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-height:85vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:24px 24px 16px}.modal-header h3{color:#333;font-size:22px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;transition:all .2s;width:40px}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:24px}.exclusion-list-modal .modal-body{padding:20px}.no-schedules{color:#999;font-size:16px;padding:40px 20px;text-align:center}.exclusion-schedules{display:flex;flex-direction:column;gap:12px}.schedule-item{align-items:flex-start;background:#f8f9fa;border-left:4px solid #ff5722;border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:16px;transition:all .2s}.schedule-item:hover{background:#f1f3f5;box-shadow:0 2px 8px #0000001a}.schedule-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.schedule-customer{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.schedule-customer strong{color:#333;font-size:16px}.schedule-customer .customer-name{background:#e3f2fd;border-radius:8px;color:#666;font-size:14px;padding:4px 10px}.schedule-dates{color:#ff5722;font-size:14px;font-weight:600}.schedule-reason{color:#666;font-size:13px;font-style:italic}.schedule-meta{color:#999;font-size:12px}.delete-schedule-btn{background:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.delete-schedule-btn:hover{background:#d32f2f;box-shadow:0 2px 8px #f443364d;transform:translateY(-1px)}.exclusion-modal .modal-body{padding:24px}.add-customer-modal{max-width:680px}.add-customer-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.add-customer-grid label{color:#1f2937;display:flex;flex-direction:column;font-size:14px;font-weight:800;gap:7px}.add-customer-grid label.wide{grid-column:1/-1}.add-customer-grid input,.add-customer-grid select,.add-customer-grid textarea{background:#fff;border:2px solid #dbe2ea;border-radius:10px;color:#111827;font:inherit;font-size:15px;padding:11px 12px;width:100%}.add-customer-grid textarea{min-height:90px;resize:vertical}.add-customer-grid input:focus,.add-customer-grid select:focus,.add-customer-grid textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f;outline:none}.add-customer-check{align-items:center;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;flex-direction:row!important;gap:10px!important;padding:12px}.add-customer-check input{flex-shrink:0;height:22px;width:22px}.menu-edit-modal{max-width:760px}.menu-edit-target{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e3a8a;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px}.menu-edit-target strong{font-size:16px}.menu-edit-items{grid-gap:10px;display:grid;gap:10px}.menu-edit-row{grid-gap:10px;align-items:end;background:#f8fafc;border:1px solid #dbe2ea;border-radius:10px;display:grid;gap:10px;grid-template-columns:minmax(160px,1fr) 110px auto;padding:10px}.menu-edit-row label{color:#1f2937;display:flex;flex-direction:column;font-size:13px;font-weight:800;gap:6px}.menu-edit-row input,.menu-edit-row select{background:#fff;border:2px solid #dbe2ea;border-radius:10px;color:#111827;font:inherit;font-size:15px;padding:10px 11px;width:100%}.menu-edit-add-btn,.menu-edit-remove-btn{border:none;border-radius:10px;cursor:pointer;font-weight:800}.menu-edit-remove-btn{background:#fee2e2;color:#991b1b;padding:10px 12px}.menu-edit-remove-btn:disabled{cursor:not-allowed;opacity:.45}.menu-edit-add-btn{background:#e0f2fe;color:#075985;margin-top:10px;padding:10px 14px}.menu-edit-reason-grid{margin-top:14px}.exclusion-customer-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:10px;margin-bottom:20px;padding:16px}.exclusion-customer-info p{color:#333;font-size:15px;margin:4px 0}.exclusion-customer-info strong{color:#666;font-size:14px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.date-input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px;transition:all .2s;width:100%}.date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.reason-input{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:all .2s;width:100%}.reason-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s}.cancel-btn{background:#e0e0e0;color:#666}.cancel-btn:hover{background:#d5d5d5}.submit-btn{background:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff}.submit-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.submit-btn:active{transform:translateY(0)}@media (max-width:768px){.exclusion-list-btn{margin-top:16px;position:static;width:100%}.exclusion-btn{font-size:20px;right:50px}.schedule-item{flex-direction:column}.modal-content{max-height:90vh;width:95%}.modal-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}.add-customer-grid,.menu-edit-row{grid-template-columns:1fr}.chart-header-actions{align-items:stretch}.chart-header-actions button{flex:1 1}}.auto-scroll-options{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:12px 0;padding:12px 16px}.auto-scroll-label{color:#495057;font-size:14px;font-weight:600}.auto-scroll-option{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:20px;cursor:pointer;display:flex;gap:6px;padding:8px 14px;transition:all .2s}.auto-scroll-option:hover{border-color:#667eea}.auto-scroll-option input[type=radio]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.auto-scroll-option input[type=radio]:checked+span{color:#667eea;font-weight:600}.auto-scroll-option span{color:#495057;font-size:14px}.auto-scroll-option:has(input[type=radio]:checked){background:#e8ecff;border-color:#667eea}@media (max-width:480px){.auto-scroll-options{gap:8px;padding:10px 12px}.auto-scroll-label{margin-bottom:4px;text-align:center;width:100%}.auto-scroll-option{flex:1 1;justify-content:center;padding:6px 12px}.auto-scroll-option span{font-size:13px}}.card-photo-action{align-items:center;display:flex;flex-direction:column;gap:3px;position:absolute;right:12px;top:10px;z-index:10}.card-photo-action .photo-thumbnail{height:36px;width:36px}.card-photo-action .retake-button{border-radius:4px;font-size:10px;padding:2px 6px}.photo-capture-btn{align-items:center;background:#2196f3;border:none;border-radius:50%;box-shadow:0 2px 6px #2196f34d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:42px;justify-content:center;width:42px}.photo-capture-btn:active{background:#1976d2;transform:scale(.95)}.complete-btn-small{background:#4caf50;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-top:2px;padding:3px 10px;white-space:nowrap}.uploading-indicator{color:#999;font-size:11px;white-space:nowrap}.completion-actions{align-items:center;display:flex;flex-shrink:0;gap:6px;margin-left:auto}.photo-button{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px;white-space:nowrap}.photo-button:active{background:#1976d2}.photo-button-optional{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;color:#1976d2;cursor:pointer;font-size:14px;padding:6px 10px}.retake-button{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;color:#e65100;cursor:pointer;font-size:12px;font-weight:500;padding:6px 10px;white-space:nowrap}.retake-button:active{background:#ffe0b2}.photo-thumbnail{border:2px solid #4caf50;border-radius:6px;cursor:pointer;height:40px;object-fit:cover;width:40px}.view-photo-button{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:16px;margin-left:auto;padding:4px 8px}.view-photo-button:active{background:#e0e0e0}.photo-modal-overlay{align-items:center;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.photo-modal{max-height:90vh;max-width:95vw;position:relative}.photo-modal img{border-radius:8px;max-height:85vh;max-width:100%;object-fit:contain}.photo-modal-close{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;position:absolute;right:-15px;top:-15px;width:36px}.camera-overlay{background:#000;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:99999}.camera-video{flex:1 1;object-fit:cover;width:100%}.camera-controls{align-items:center;background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;justify-content:space-between;left:0;padding:20px 30px max(20px,env(safe-area-inset-bottom));position:absolute;right:0}.camera-cancel-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 0;width:60px}.camera-shutter-btn{align-items:center;background:#fff;border:4px solid #ffffff80;border-radius:50%;cursor:pointer;display:flex;height:72px;justify-content:center;padding:0;width:72px}.camera-shutter-btn:active{transform:scale(.9)}.shutter-inner{background:#fff;border:2px solid #ddd;border-radius:50%;height:58px;width:58px}.apartment-manager-page{background:linear-gradient(135deg,#25364d,#3f3351);min-height:100vh;padding:16px}.apartment-manager-header{align-items:center;background:#fffffff2;border-radius:12px;display:flex;gap:10px;justify-content:space-between;margin:0 auto 14px;max-width:1280px;padding:14px 16px}.apartment-manager-header h1{color:#1f2a37;font-size:22px;margin:0}.am-add-btn,.am-add-line-btn,.am-back-btn,.am-delete-btn,.am-delete-line-btn,.am-refresh-btn,.am-save-btn,.am-sync-all-btn,.am-sync-btn,.am-sync-item-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:9px 12px}.am-back-btn{background:#374151}.am-refresh-btn{background:#0369a1}.am-sync-btn{background:#475569}.am-sync-all-btn,.am-sync-item-btn{background:#7c3aed}.am-add-btn,.am-add-line-btn{background:#4f46e5}.am-save-btn{background:#0f766e}.am-delete-btn,.am-delete-line-btn{background:#b91c1c}.am-message{border-radius:10px;font-weight:600;margin:0 auto 14px;max-width:1280px;padding:10px 12px}.am-message.success{background:#dcfce7;color:#166534}.am-message.error{background:#fee2e2;color:#991b1b}.apartment-manager-content{grid-gap:14px;display:grid;gap:14px;grid-template-columns:320px 1fr;margin:0 auto;max-width:1280px}.am-card{background:#fffffff7;border-radius:12px;padding:14px}.am-card h2{color:#111827;font-size:18px;margin:0 0 10px}.am-input{border:1px solid #d1d5db;border-radius:8px;font-size:15px;padding:9px 10px;width:100%}.am-add-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr auto;margin-top:8px}.am-sync-summary{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;margin-bottom:12px;padding:12px}.am-sync-summary strong{color:#1e3a8a;display:block}.am-sync-summary p{color:#334155;font-size:14px;margin:4px 0 0}.am-sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.am-sync-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.am-sync-item{background:#faf5ff;border:1px solid #ddd6fe;border-radius:10px;padding:10px}.am-sync-item-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.am-sync-badge{align-items:center;background:#ede9fe;border-radius:999px;color:#6d28d9;display:inline-flex;font-size:12px;font-weight:700;padding:3px 8px}.am-sync-meta{color:#475569;display:flex;flex-direction:column;font-size:13px;gap:3px;margin-top:6px}.am-sync-warning{background:#fff7ed;border-radius:10px;color:#c2410c;font-size:13px;line-height:1.45;margin-top:8px;padding:10px 12px}.am-sync-item-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.am-sync-item-btn.secondary{background:#0f766e}.am-apartment-list{display:flex;flex-direction:column;gap:7px;margin-top:10px;max-height:62vh;overflow:auto}.am-apartment-item{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:9px 10px}.am-apartment-name{text-align:left}.am-apartment-meta{align-items:center;display:inline-flex;gap:8px;margin-left:10px}.am-apartment-code{background:#f1f5f9;border-radius:999px;color:#475569;font-size:12px;font-weight:700;padding:3px 7px;white-space:nowrap}.am-apartment-item.active{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e526}.am-dot{border-radius:999px;height:10px;width:10px}.am-dot.on{background:#22c55e}.am-dot.off{background:#9ca3af}.am-muted{color:#6b7280;font-size:14px}.am-grid{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:130px 1fr}.am-grid label{color:#374151;font-weight:700}.am-field-help{color:#64748b;font-size:13px;line-height:1.4;margin:-4px 0 2px}.am-line-settings{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:12px}.am-line-header{align-items:center;display:flex;justify-content:space-between}.am-line-header h3{font-size:16px;margin:0}.am-help{color:#6b7280;font-size:13px;margin:8px 0 10px}.am-line-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:110px 1fr auto;margin-bottom:8px}.am-actions{display:flex;gap:8px;margin-top:14px}@media (max-width:980px){.apartment-manager-content{grid-template-columns:1fr}.apartment-manager-header{flex-wrap:wrap}.apartment-manager-header h1{font-size:19px;order:-1;width:100%}.am-grid{grid-template-columns:1fr}.am-field-help-spacer{display:none}.am-line-row{grid-template-columns:1fr 1fr auto}}.chart-builder-page{background:linear-gradient(135deg,#1f2a44,#2d325a 45%,#3d2f66);min-height:100vh;padding:16px}.cb-header{align-items:center;background:#fffffff2;border-radius:12px;display:flex;gap:10px;justify-content:space-between;margin:0 auto 12px;max-width:1240px;padding:12px 14px}.cb-header h1{color:#162036;font-size:24px;margin:0}.cb-back-btn{background:#334155;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px 12px}.cb-card{background:#fffffffa;border-radius:12px;padding:14px}.cb-card,.cb-message{margin:0 auto 12px;max-width:1240px}.cb-message{border-radius:10px;font-weight:700;padding:10px 12px}.cb-message.success{background:#dcfce7;color:#166534}.cb-message.error{background:#fee2e2;color:#991b1b}.cb-grid{grid-gap:8px 10px;align-items:center;display:grid;gap:8px 10px;grid-template-columns:120px 1fr}.cb-grid label{color:#334155;font-weight:700}.cb-input{border:1px solid #cbd5e1;border-radius:8px;font-size:15px;padding:9px 10px}.cb-checkbox{align-items:center;color:#1f2937;display:flex;font-weight:600;gap:8px}.cb-text-wrap{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cb-text-wrap label{color:#334155;font-weight:700}.cb-textarea{border:1px solid #cbd5e1;border-radius:10px;font-family:ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;min-height:220px;padding:10px;resize:vertical;width:100%}.cb-actions{display:flex;gap:8px;margin-top:12px}.cb-fetch-btn,.cb-parse-btn,.cb-upload-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px}.cb-parse-btn{background:#0f766e}.cb-fetch-btn{background:#7c3aed}.cb-upload-btn{background:#1d4ed8}.cb-fetch-btn:disabled,.cb-parse-btn:disabled,.cb-upload-btn:disabled{cursor:not-allowed;opacity:.55}.cb-card h2{color:#0f172a;margin:0 0 10px}.cb-card h3{color:#1e293b;margin:12px 0 8px}.cb-result-grid{grid-gap:8px;color:#334155;display:grid;font-weight:600;gap:8px;grid-template-columns:repeat(4,minmax(120px,1fr))}.cb-menu-list{display:flex;flex-wrap:wrap;gap:6px}.cb-fixed-summary-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(120px,1fr));margin-bottom:8px}.cb-fixed-summary-item{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#1f2937;display:flex;font-weight:700;justify-content:space-between;padding:10px 12px}.cb-fixed-summary-item strong{color:#0f172a;font-size:17px}.cb-fixed-summary-item.total{background:#e0ecff;border-color:#93c5fd}.cb-summary-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#475569;font-weight:600;padding:10px 12px}.cb-summary-note{color:#475569;font-size:13px;font-weight:600;margin-top:8px}.cb-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1e3a8a;font-size:13px;font-weight:700;padding:4px 9px}.cb-preview-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow:auto}.cb-preview-table{border-collapse:collapse;width:100%}.cb-preview-table td,.cb-preview-table th{border-bottom:1px solid #e5e7eb;font-size:14px;padding:8px 10px;text-align:left}.cb-preview-table th{background:#f8fafc;color:#334155;font-weight:700}@media (max-width:900px){.cb-header{flex-wrap:wrap}.cb-header h1{font-size:20px;width:100%}.cb-grid{grid-template-columns:1fr}.cb-fixed-summary-grid,.cb-result-grid{grid-template-columns:1fr 1fr}}.program-config-page{background:linear-gradient(135deg,#223447,#2e4353 48%,#563f35);box-sizing:border-box;color:#172033;min-height:100vh;padding:18px 20px 28px}.pcm-header{align-items:center;background:#fffffff5;border-radius:16px;box-shadow:0 12px 30px #0f172a33;display:flex;gap:12px;justify-content:space-between;margin:0 auto 14px;padding:14px 16px;width:min(100%,1480px)}.pcm-header h1{font-size:24px;margin:0}.pcm-header p{color:#64748b;font-weight:700;margin:4px 0 0}.pcm-add-row button,.pcm-back-btn,.pcm-danger-btn,.pcm-file-btn,.pcm-list-head button,.pcm-save-btn,.pcm-secondary-btn{border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;padding:10px 13px}.pcm-back-btn{background:#334155}.pcm-save-btn{background:#0f766e}.pcm-add-row button,.pcm-list-head button,.pcm-secondary-btn{background:#475569}.pcm-danger-btn{background:#b91c1c}.pcm-danger-btn:disabled,.pcm-save-btn:disabled{cursor:not-allowed;opacity:.55}.pcm-card,.pcm-content,.pcm-message,.pcm-summary{box-sizing:border-box;margin-left:auto;margin-right:auto;width:min(100%,1480px)}.pcm-message{border-radius:12px;font-weight:800;margin-bottom:12px;padding:11px 13px}.pcm-message.success{background:#dcfce7;color:#166534}.pcm-message.error{background:#fee2e2;color:#991b1b}.pcm-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:12px}.pcm-summary div{align-items:center;background:#fffffff5;border-radius:14px;box-shadow:0 10px 24px #0f172a29;display:flex;justify-content:space-between;padding:14px}.pcm-summary span{color:#475569;font-weight:800}.pcm-summary strong{color:#0f766e;font-size:24px}.pcm-card{background:#fffffffa;border-radius:16px;box-shadow:0 12px 28px #0f172a29;padding:16px}.pcm-card h2{color:#0f172a;font-size:19px;margin:0 0 10px}.pcm-import-card{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.pcm-help,.pcm-import-card p,.pcm-muted{color:#64748b;font-weight:700;line-height:1.45;margin:0}.pcm-import-note{color:#0f766e!important;margin-top:6px!important}.pcm-actions,.pcm-import-actions,.pcm-list-head,.pcm-section-head{align-items:center;display:flex;gap:10px}.pcm-import-actions{flex-wrap:wrap;justify-content:flex-end}.pcm-file-btn{background:#7c3aed;display:inline-flex}.pcm-file-btn input{display:none}.pcm-content{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.pcm-sidebar{min-width:0;position:-webkit-sticky;position:sticky;top:16px}.pcm-sidebar .pcm-card{display:flex;flex-direction:column;max-height:calc(100vh - 230px);overflow:hidden}.pcm-main>.pcm-card,.pcm-sidebar>.pcm-card{margin-left:0;margin-right:0;max-width:none;width:100%}.pcm-add-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr auto;margin-bottom:10px}.pcm-add-row input,.pcm-address-search input,.pcm-grid input,.pcm-grid select,.pcm-recipient-form input{border:1px solid #cbd5e1;border-radius:10px;font-size:15px;padding:10px 11px;width:100%}.pcm-address-field{display:flex;flex-direction:column;gap:8px;min-width:0}.pcm-address-search{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.pcm-address-search button:disabled{cursor:not-allowed;opacity:.55}.pcm-address-results{background:#f8fbff;border:1px solid #dbeafe;border-radius:12px;overflow:hidden}.pcm-address-results button{background:#0000;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;padding:10px 12px;text-align:left;width:100%}.pcm-address-results button:last-child{border-bottom:none}.pcm-address-results button:hover{background:#e0f2fe}.pcm-address-results strong{color:#0f172a;display:block;font-size:14px}.pcm-address-results span{color:#64748b;display:block;font-size:12px;font-weight:700;margin-top:3px}.pcm-address-notice{border-radius:10px;font-size:14px;font-weight:800;padding:10px 12px}.pcm-address-notice.success{background:#dcfce7;color:#166534}.pcm-address-notice.error{background:#fee2e2;color:#991b1b}.pcm-apartment-list{display:flex;flex-direction:column;gap:7px;overflow:auto}.pcm-apartment-list button,.pcm-recipient-list button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#1f2937;cursor:pointer;display:flex;font-weight:800;gap:8px;justify-content:space-between;padding:11px 12px;text-align:left}.pcm-apartment-list button.active,.pcm-recipient-list button.active{background:#e0f2fe;border-color:#0284c7;color:#075985}.pcm-apartment-list em{background:#fed7aa;border-radius:999px;color:#9a3412;font-size:12px;font-style:normal;padding:3px 8px}.pcm-main{display:flex;flex-direction:column;gap:14px;min-width:0}.pcm-grid{grid-gap:9px 11px;align-items:center;display:grid;gap:9px 11px;grid-template-columns:minmax(130px,170px) minmax(220px,1fr)}.pcm-grid.compact{grid-template-columns:minmax(130px,150px) 1fr}.pcm-operation-grid{margin-bottom:14px}.pcm-grid label,.pcm-three-columns label{color:#334155;font-weight:800}.pcm-inline-help{color:#64748b;font-size:13px;font-weight:800;line-height:1.45;margin:0}.pcm-section-head{justify-content:space-between;margin-bottom:12px}.pcm-toggle{align-items:center;color:#9a3412;display:inline-flex;font-weight:900;gap:8px}.pcm-three-columns{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.pcm-raw-json,.pcm-three-columns textarea{border:1px solid #cbd5e1;border-radius:12px;font-size:14px;line-height:1.45;margin-top:8px;padding:11px;resize:vertical;width:100%}.pcm-three-columns textarea{min-height:170px}.pcm-recipient-layout{grid-gap:14px;display:grid;gap:14px;grid-template-columns:280px 1fr;margin-top:14px}.pcm-recipient-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;max-height:470px;overflow:auto;padding:12px}.pcm-recipient-list .pcm-list-head{justify-content:space-between;margin-bottom:10px}.pcm-recipient-list button{margin-bottom:7px;width:100%}.pcm-recipient-list button span{color:#64748b;font-size:13px}.pcm-recipient-form{background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:14px}.pcm-actions{margin-top:12px}.compact-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:0}.pcm-revision-list{display:flex;flex-direction:column;gap:10px}.pcm-revision-row{grid-gap:12px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:13px}.pcm-revision-row strong{color:#0f172a}.pcm-revision-row p{color:#475569;font-weight:800;margin:5px 0}.pcm-revision-row span{color:#64748b;font-size:13px;font-weight:700}.pcm-raw-json{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;min-height:360px}.pcm-loading{background:#fffffff5;border-radius:16px;color:#334155;font-size:18px;font-weight:900;margin:120px auto;max-width:720px;padding:28px;text-align:center}@media (max-width:980px){.pcm-header,.pcm-import-card,.pcm-section-head{align-items:stretch;flex-direction:column}.pcm-address-search,.pcm-content,.pcm-recipient-layout,.pcm-revision-row,.pcm-summary,.pcm-three-columns{grid-template-columns:1fr}.pcm-sidebar .pcm-card{max-height:none}.pcm-sidebar{position:static}}.kls-page{background:#eef3f8;color:#152235;min-height:100vh;padding:16px}.kls-header,.kls-message,.kls-panel{margin-left:auto;margin-right:auto;max-width:1240px}.kls-header{align-items:center;background:#fff;border:1px solid #d8e2ee;border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:14px}.kls-header h1{font-size:24px;margin:0}.kls-header p{color:#64748b;font-size:14px;margin:4px 0 0}.kls-back-btn,.kls-download-btn,.kls-primary-btn,.kls-secondary-btn{border:none;border-radius:8px;cursor:pointer;font-weight:700;white-space:nowrap}.kls-back-btn{background:#334155;color:#fff;padding:10px 12px}.kls-panel{background:#fff;border:1px solid #d8e2ee;padding:14px}.kls-message,.kls-panel{border-radius:8px;margin-bottom:12px}.kls-message{font-weight:700;padding:10px 12px}.kls-message.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.kls-message.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.kls-control-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(180px,1fr))}.kls-address-input,.kls-control-grid label{color:#334155;display:flex;flex-direction:column;font-weight:700;gap:6px}.kls-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#172033;font-size:15px;padding:9px 10px}.kls-check-row{align-items:center;flex-direction:row!important;min-height:40px}.kls-section-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.kls-section-head h2{font-size:20px;margin:0}.kls-section-head p{color:#64748b;font-weight:600;margin:4px 0 0}.kls-actions,.kls-download-row{display:flex;flex-wrap:wrap;gap:8px}.kls-secondary-btn{background:#e2e8f0;color:#1e293b;padding:9px 12px}.kls-primary-btn{background:#0f766e;color:#fff;padding:10px 16px}.kls-download-btn{background:#1d4ed8;color:#fff;padding:10px 16px}.kls-download-btn:disabled,.kls-primary-btn:disabled,.kls-secondary-btn:disabled{cursor:not-allowed;opacity:.55}.kls-search{margin-bottom:12px;width:100%}.kls-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-weight:700;padding:18px;text-align:center}.kls-apartment-list{grid-gap:8px;display:grid;gap:8px}.kls-apartment-row{grid-gap:10px 12px;align-items:center;background:#fbfdff;border:1px solid #d8e2ee;border-radius:8px;display:grid;gap:10px 12px;grid-template-columns:minmax(220px,1.2fr) minmax(260px,1fr);padding:12px}.kls-apartment-row.selected{background:#eff6ff;border-color:#60a5fa}.kls-apartment-row.needs-address.selected{background:#fffbeb;border-color:#f59e0b}.kls-apartment-main{align-items:center;display:flex;gap:10px;min-width:0}.kls-apartment-main small,.kls-apartment-main strong{display:block}.kls-apartment-main strong{color:#0f172a}.kls-apartment-main small{color:#64748b;margin-top:3px}.kls-menu-chips{display:flex;flex-wrap:wrap;gap:6px}.kls-menu-chips span{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1e3a8a;font-size:12px;font-weight:700;padding:4px 8px}.kls-address-input{grid-column:1/-1}.kls-total-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(120px,1fr));margin-bottom:12px}.kls-total-grid div{background:#f8fafc;border:1px solid #d8e2ee;border-radius:8px;padding:10px 12px}.kls-total-grid span{color:#64748b;display:block;font-size:13px;font-weight:700}.kls-total-grid strong{color:#0f172a;display:block;font-size:20px;margin-top:4px}.kls-status-pill{border-radius:999px;font-size:13px;font-weight:800;padding:6px 10px}.kls-status-pill.ok{background:#dcfce7;color:#166534}.kls-status-pill.bad{background:#fee2e2;color:#991b1b}.kls-menu-compare{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:12px}.kls-compare-row{grid-gap:8px;align-items:center;border:1px solid #d8e2ee;border-radius:8px;display:grid;gap:8px;grid-template-columns:1fr auto auto;padding:9px 10px}.kls-compare-row span{font-weight:700}.kls-compare-row em{color:#64748b;font-size:13px;font-style:normal}.kls-issue-list{background:#fff1f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-weight:700;margin-bottom:12px;padding:10px 12px}.kls-issue-list p{margin:4px 0}.kls-chart-table{border:1px solid #d8e2ee;border-radius:8px;overflow:hidden}.kls-chart-table-head,.kls-chart-table-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.5fr .7fr .7fr .8fr .8fr;padding:9px 10px}.kls-chart-table-head{background:#f1f5f9;color:#334155;font-weight:800}.kls-chart-table-row{border-top:1px solid #e2e8f0}.kls-personal-chart-table .kls-chart-table-head,.kls-personal-chart-table .kls-chart-table-row{grid-template-columns:1.7fr .7fr .7fr .7fr}@media (max-width:780px){.kls-download-row,.kls-header,.kls-section-head{align-items:stretch;flex-direction:column}.kls-apartment-row,.kls-chart-table-head,.kls-chart-table-row,.kls-control-grid,.kls-total-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.ec326513.css.map*/