*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f2f5f8;--card:#fff;--card-border:#d5e0ed;--card-hover:#f5f9ff;--primary:#0a3d62;--green:#97c21e;--green-hover:#86ad19;--green-dim:#97c21e24;--accent:#00a6c8;--accent-hover:#0088a5;--accent-dim:#00a6c81a;--success:#1e9e5a;--success-dim:#1e9e5a1a;--warning:#e09400;--warning-dim:#e094001a;--danger:#d32f2f;--danger-dim:#d32f2f14;--text-primary:#0d2137;--text-secondary:#3a4f66;--text-muted:#6b7f96;--radius:8px;--radius-sm:5px;--shadow:0 1px 3px #0a3d6214, 0 1px 2px #0a3d620a;--shadow-lg:0 4px 16px #0a3d6221;--font:"Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);min-height:100vh;font-size:14px;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--card);border-bottom:1px solid var(--card-border);z-index:100;align-items:center;height:58px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 6px #0a3d6212}.app-header__inner{align-items:center;gap:20px;width:100%;max-width:1600px;margin:0 auto;display:flex}.mobycon-logo{-webkit-user-select:none;user-select:none;flex-shrink:0;display:block}.app-account{align-items:center;gap:8px;margin-left:auto;display:flex}.app-account__name{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.app-account__admin{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:var(--accent-dim);border-radius:8px;padding:1px 6px;font-size:9px;font-weight:700}.btn-logout{border:1px solid var(--card-border);color:var(--text-secondary);font-size:12px;font-family:var(--font);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:5px 12px;transition:all .15s}.btn-logout:hover{border-color:var(--text-secondary);color:var(--text-primary)}.login-screen{background:radial-gradient(1100px 500px at 80% -10%, #00a6c821, transparent), radial-gradient(900px 500px at 10% 110%, #97c21e26, transparent), var(--bg);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.login-card{background:var(--card);border:1px solid var(--card-border);text-align:center;border-radius:14px;width:100%;max-width:360px;padding:44px 40px;box-shadow:0 10px 44px #0a3d6224}.login-logo{justify-content:center;align-items:center;margin-bottom:22px;display:flex}.login-title{color:var(--text-primary);margin:0 0 6px;font-size:19px;font-weight:700}.login-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:13px}.login-form{flex-direction:column;gap:10px;display:flex}.login-input{text-align:center;letter-spacing:2px;font-size:15px}.login-btn{width:100%;padding:10px;font-size:14px;font-weight:600}.app-main{flex:1;grid-template-columns:360px 1fr;align-items:start;gap:24px;width:100%;max-width:1600px;margin:0 auto;padding:24px;display:grid}@media (width<=900px){.app-main{grid-template-columns:1fr;padding:16px}}@media (width<=640px){.app-header{height:auto;min-height:54px;padding:8px 14px}.app-header__inner{flex-wrap:wrap;gap:8px 10px}.app-nav{flex-basis:100%;order:3;justify-content:stretch}.app-nav-btn{text-align:center;flex:1}.app-account{gap:6px}.app-account__name{display:none}.btn-logout{padding:5px 10px}.app-main{gap:12px;padding:12px}.panel-header{flex-wrap:wrap;gap:8px;padding:14px 16px}.moment-row{flex-wrap:wrap}.moment-row__left{flex-basis:100%;min-width:0}.moment-row__right{flex-basis:100%}.moment-row__actions{position:absolute;top:6px;right:6px}.pt-card-header,.pt-card-header__right{flex-wrap:wrap}.add-moment-form__row .form-field,.form-row .form-field{flex-basis:100%;min-width:0;max-width:none!important}.modal-overlay{padding:8px}.modal-card,.msg-modal,.users-modal,.project-detail-modal{max-width:100%;max-height:94vh}.modal-header,.msg-period,.msg-body,.users-body,.project-detail-body{padding-left:14px;padding-right:14px}.msg-teller__head,.user-row{flex-wrap:wrap}.inventory-panel{max-height:none;position:static}}.panel{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-header{border-bottom:1px solid var(--card-border);background:var(--card);justify-content:space-between;align-items:flex-start;padding:16px 20px;display:flex}.panel-title{color:var(--primary);flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:15px;font-weight:700;display:flex}.count-badge{background:var(--green-dim);color:#6d8e14;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.6}.panel-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.inventory-panel{max-height:calc(100vh - 100px);position:sticky;top:80px;overflow-y:auto}.inventory-panel::-webkit-scrollbar{width:5px}.inventory-panel::-webkit-scrollbar-track{background:0 0}.inventory-panel::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:3px}.projects-panel{box-shadow:none;background:0 0;border:none}.inventory-section{border-bottom:1px solid var(--card-border)}.inventory-section:last-child{border-bottom:none}.section-header{border:none;border-bottom:1px solid var(--card-border);width:100%;font-family:var(--font);text-align:left;cursor:pointer;background:#f5f9fc;align-items:center;gap:8px;padding:8px 16px 6px;transition:background .15s;display:flex}.section-header:hover{background:#eef4f9}.section-chevron{color:var(--text-muted);flex-shrink:0;width:10px;font-size:10px}.section-icon{font-size:13px}.inventory-collapse-toggle{cursor:pointer;font-family:var(--font);text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:9px;min-width:0;padding:0;display:flex}.inventory-chevron{color:var(--text-muted);flex-shrink:0;font-size:13px}.inventory-header-text{flex-direction:column;min-width:0;display:flex}.inventory-collapse-toggle:hover .panel-title{color:var(--accent)}.section-title{text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary);flex:1;font-size:11px;font-weight:700}.section-count{color:var(--text-muted);background:var(--card-border);border-radius:10px;padding:1px 7px;font-size:11px}.camera-group{border-bottom:1px solid var(--card-border);padding:10px 12px}.camera-group:last-child{border-bottom:none}.group-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.camera-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;margin-bottom:5px;padding:9px 11px;transition:border-color .15s,box-shadow .15s}.camera-card--free{border-left:3px solid var(--success)}.camera-card--free:hover{box-shadow:var(--shadow);border-color:var(--success)}.camera-card--assigned{border-left:3px solid var(--warning);background:#fffdf5}.camera-card--dragging{opacity:.35!important}.camera-card__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.camera-card__title{align-items:center;gap:6px;min-width:0;display:flex}.type-badge{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border:1px solid;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.camera-serial{color:var(--text-primary);font-size:13px;font-weight:700}.camera-meta{margin-bottom:4px}.camera-location{color:var(--text-secondary);font-size:12px}.camera-notes{color:var(--text-muted);border-top:1px solid var(--card-border);margin-top:4px;padding-top:4px;font-size:12px}.camera-availability{background:var(--warning-dim);border-radius:var(--radius-sm);border:1px solid #e0940033;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:4px 8px;display:flex}.availability-project{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.availability-date{color:var(--warning);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.availability-date--unknown{color:var(--text-muted);font-style:italic;font-weight:400}.camera-card__footer{border-top:1px solid var(--card-border);justify-content:space-between;align-items:center;margin-top:7px;padding-top:6px;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 7px;font-size:9px;font-weight:700}.status-badge--free{background:var(--success-dim);color:var(--success)}.status-badge--assigned{background:var(--warning-dim);color:var(--warning)}.status-badge--maintenance{background:var(--danger-dim);color:var(--danger)}.camera-card--maintenance{border-left:3px solid var(--danger);background:#fff8f8}.camera-card__badges{flex-shrink:0;align-items:center;gap:4px;display:flex}.inventory-section--maintenance .section-title{color:var(--danger)}.camera-card__actions{flex:1;gap:5px;display:flex}.btn-icon-sm{background:var(--bg);border:1px solid var(--card-border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-size:11px;font-family:var(--font);padding:3px 7px;transition:all .15s}.btn-icon-sm:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-icon-sm--warning{background:var(--danger-dim);color:var(--danger);border-color:#d32f2f4d}.btn-icon-sm--warning:hover{background:#d32f2f24}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a1e3273;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);width:100%;max-width:520px;max-height:80vh;box-shadow:var(--shadow-lg);overflow-y:auto}.modal-header{border-bottom:1px solid var(--card-border);background:#f5f9fc;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.modal-title{align-items:center;gap:10px;margin-bottom:4px;display:flex}.modal-subtitle{color:var(--text-muted);background:var(--bg);border:1px solid var(--card-border);border-radius:4px;padding:2px 8px;font-size:12px}.modal-location{color:var(--text-muted);font-size:12px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;font-size:16px;transition:color .15s}.modal-close:hover{color:var(--text-primary);background:var(--card-border)}.stats-grid{background:var(--card-border);border-bottom:1px solid var(--card-border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stat-card{background:var(--card);text-align:center;padding:16px 12px}.stat-value{color:var(--primary);margin-bottom:4px;font-size:22px;font-weight:700;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:10px}.history-section{padding:16px 20px}.history-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:700}.history-list{flex-direction:column;gap:3px;display:flex}.history-item{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--card-border);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.history-item--active{background:#009bb50d;border-color:#009bb559}.history-item__left{align-items:center;gap:10px;display:flex}.history-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.history-dot--active{background:var(--accent);box-shadow:0 0 0 3px #009bb52e}.history-dot--past{background:var(--text-muted)}.history-dot--future{background:var(--warning)}.history-project-name{color:var(--text-primary);font-size:13px;font-weight:600}.history-dates{color:var(--text-muted);margin-top:1px;font-size:11px}.history-item__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.history-days{color:var(--text-secondary);font-size:12px;font-weight:700}.history-status{text-transform:uppercase;letter-spacing:.4px;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.history-status--active{background:var(--accent-dim);color:var(--accent)}.history-status--past{background:var(--card-border);color:var(--text-muted)}.history-status--future{background:var(--warning-dim);color:var(--warning)}.project-list{flex-direction:column;gap:16px;display:flex}.project-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .2s;overflow:hidden}.project-card--over{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim), var(--shadow-lg)}.project-card__header{border-bottom:1px solid var(--card-border);background:#f5f9fc;justify-content:space-between;align-items:flex-start;padding:14px 20px 12px;display:flex}.project-name{color:var(--primary);margin:0 0 3px;font-size:15px;font-weight:700}.project-description{color:var(--text-secondary);margin:0;font-size:13px}.project-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.project-dates{border-bottom:1px solid var(--card-border);background:#fafcfe;padding:10px 20px}.dates-display{cursor:pointer;flex-wrap:wrap;align-items:center;gap:20px;display:flex}.date-item{align-items:center;gap:6px;display:flex}.date-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:700}.date-value{color:var(--text-secondary);font-size:13px;font-weight:500}.project-equipment{border-bottom:1px solid var(--card-border);padding:14px 20px}.equipment-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.equipment-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.equipment-count{background:var(--bg);border:1px solid var(--card-border);color:var(--text-secondary);border-radius:10px;padding:1px 7px;font-size:11px}.btn-add-equipment{background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);padding:4px 12px;transition:all .15s}.btn-add-equipment:hover{background:var(--accent);color:#fff}.assigned-group{margin-bottom:10px}.assigned-group:last-child{margin-bottom:0}.assigned-group-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.assigned-chips-row{flex-wrap:wrap;gap:6px;display:flex}.assigned-chip{background:var(--bg);border:1px solid;border-radius:6px;align-items:center;gap:5px;padding:4px 8px 4px 10px;font-size:12px;display:flex}.assigned-chip-type{text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:700}.assigned-chip-serial{color:var(--text-primary);font-weight:600}.assigned-chip-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:2px;padding:0 2px;font-size:14px;line-height:1;transition:color .15s}.assigned-chip-remove:hover{color:var(--danger)}.assign-empty--project{color:var(--text-muted);padding:8px 0;font-size:12px}.assign-form{border:1px solid var(--card-border);border-radius:var(--radius);background:#f5f9fc;margin-bottom:14px;padding:16px}.assign-section{margin-bottom:16px}.assign-section:last-of-type{margin-bottom:12px}.assign-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.assign-count{background:var(--accent-dim);color:var(--accent);text-transform:none;letter-spacing:0;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700}.assign-type-row{gap:8px;display:flex}.assign-type-btn{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;transition:all .15s;display:flex}.assign-type-btn:hover{border-color:var(--accent);color:var(--text-primary)}.assign-type-btn--active.assign-type-btn--mc{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:700}.assign-type-btn--active.assign-type-btn--anpr{color:#6d45c5;background:#5a32b414;border-color:#6d45c5;font-weight:700}.assign-type-icon{font-size:18px}.assign-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--card);border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .12s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip--selected.chip--camera{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:700}.chip--selected.chip--accu{background:var(--warning-dim);border-color:var(--warning);color:var(--warning);font-weight:700}.assign-accu-group{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.assign-accu-label{color:var(--text-muted);white-space:nowrap;min-width:44px;padding-top:5px;font-size:11px;font-weight:600}.assign-empty{color:var(--text-muted);padding:6px 0;font-size:12px}.chip--busy{opacity:.45;border-style:dashed;flex-direction:column;align-items:center;gap:2px;padding:4px 10px;display:flex;cursor:not-allowed!important}.chip-busy-date{font-size:9px;font-family:var(--font);color:var(--warning);letter-spacing:.2px;font-weight:600}.assign-footer{gap:8px;padding-top:4px;display:flex}.camera-drop-zone{border-bottom:1px solid var(--card-border);min-height:60px;padding:12px 20px;transition:background .15s}.camera-drop-zone--active{background:var(--accent-dim)}.camera-drop-zone--empty{flex-direction:column;min-height:80px;display:flex}.drop-hint{text-align:center;color:var(--text-muted);border:1px dashed var(--card-border);border-radius:var(--radius-sm);margin-top:8px;padding:12px;font-size:12px}.camera-drop-zone--active .drop-hint{border-color:var(--accent);color:var(--accent)}.assigned-cameras{flex-direction:column;gap:4px;display:flex}.assigned-camera-item{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 10px;display:flex}.camera-location-sm{color:var(--text-muted);flex:1;font-size:12px}.recording-schedule{padding:12px 20px 16px}.schedule-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.schedule-item{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px 10px;display:flex}.schedule-time{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:600}.schedule-days{color:var(--text-secondary);flex:1;font-size:12px}.schedule-form{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.day-checkboxes{flex-wrap:wrap;gap:6px;display:flex}.day-chip{border:1px solid var(--card-border);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font);-webkit-user-select:none;user-select:none;background:var(--card);border-radius:12px;padding:3px 8px;transition:all .15s}.day-chip:hover{border-color:var(--accent);color:var(--accent)}.day-chip--active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn{border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12px}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-hover)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--bg);border:1px solid var(--card-border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#d32f2f29}.btn-outline{border:1px solid var(--card-border);color:var(--text-secondary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-text{color:var(--accent);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border:none;padding:0}.btn-text:hover{text-decoration:underline}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:12px;line-height:1;transition:background .15s,color .15s}.btn-icon:hover{background:var(--bg);color:var(--text-primary)}.btn-icon--danger:hover{background:var(--danger-dim);color:var(--danger)}.inline-form{border-bottom:1px solid var(--card-border);background:#f5f9fc;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.form-row{flex-wrap:wrap;gap:8px;display:flex}.form-field{flex-direction:column;flex:1;gap:4px;min-width:120px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:700}.form-input{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);outline:none;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-input--sm{padding:5px 8px;font-size:12px}.form-textarea{resize:vertical;min-height:52px}input[type=date].form-input,input[type=time].form-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}select.form-input,.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7f96' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.form-error{color:var(--danger);background:var(--danger-dim);border-radius:var(--radius-sm);border:1px solid #d32f2f33;padding:6px 10px;font-size:12px}.form-actions{align-items:center;gap:8px;display:flex}.category-tabs{gap:6px;margin-bottom:12px;display:flex}.category-tab{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-family:var(--font);cursor:pointer;flex:1;padding:7px 12px;transition:all .15s}.category-tab:hover{border-color:var(--accent);color:var(--accent)}.category-tab--active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:600}.accu-type-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px;display:grid}.accu-type-btn{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;text-align:center;padding:10px 6px;transition:all .15s}.accu-type-btn:hover{border-color:var(--warning);color:var(--warning)}.accu-type-btn--active{background:var(--warning-dim);border-color:var(--warning);color:var(--warning);font-weight:700}.qty-row{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;display:flex}.qty-label{color:var(--text-secondary);font-size:13px}.qty-controls{align-items:center;gap:4px;display:flex}.qty-btn{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.qty-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.qty-input{text-align:center;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);width:52px;color:var(--text-primary);font-size:15px;font-weight:700;font-family:var(--font);-moz-appearance:textfield;padding:4px 6px}.qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.qty-input::-webkit-inner-spin-button{-webkit-appearance:none}.loading-msg,.empty-state,.empty-hint{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.error-msg{background:var(--danger-dim);color:var(--danger);border-bottom:1px solid #d32f2f26;padding:12px 16px;font-size:13px}.drag-overlay-card{background:var(--primary);border:2px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);color:#fff;pointer-events:none;white-space:nowrap;padding:8px 14px;font-size:13px;font-weight:700}.confirm-row{align-items:center;gap:6px;display:flex}.confirm-label{color:var(--text-secondary);font-size:12px}.dates-edit{flex-direction:column;gap:8px;display:flex}.project-card-footer{border-top:1px solid var(--card-border);background:#fafcfe;justify-content:space-between;align-items:center;padding:8px 20px;display:flex}.project-footer-stats{align-items:center;gap:14px;display:flex}.footer-stat{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.footer-stat-icon{font-size:13px}.schedule-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.schedule-item{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.schedule-item__content{flex:1;min-width:0}.schedule-range{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.schedule-dt{color:var(--text-primary);font-size:13px;font-weight:600}.schedule-arrow{color:var(--text-muted);font-size:12px}.schedule-label{color:var(--accent);margin-top:2px;font-size:11px}.schedule-item__actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.schedule-overnight{color:var(--warning);background:var(--warning-dim);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:700}.schedule-overnight-hint{color:#8a5d00;background:var(--warning-dim);border-radius:var(--radius-sm);border:1px solid #e094004d;margin:2px 0 4px;padding:6px 10px;font-size:12px}.project-detail-modal{max-width:680px;max-height:88vh}.project-detail-header{background:#f5f9fc;align-items:flex-start}.project-detail-title{flex:1}.project-detail-name{color:var(--primary);margin:0 0 4px;font-size:18px;font-weight:700}.project-detail-desc{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.project-detail-dates{margin-top:8px}.project-detail-tabs{border-bottom:2px solid var(--card-border);background:var(--card);display:flex}.detail-tab{font-size:13px;font-weight:600;font-family:var(--font);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 20px;transition:color .15s;display:flex}.detail-tab:hover{color:var(--text-primary)}.detail-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.detail-tab-count{background:var(--accent-dim);color:var(--accent);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700}.project-detail-body{padding:20px;overflow-y:auto}.detail-equip-group{margin-bottom:16px}.project-files{flex-direction:column;gap:12px;display:flex}.files-header{align-items:center;gap:8px;display:flex}.files-count-badge{background:var(--card-border);color:var(--text-muted);border-radius:10px;padding:1px 7px;font-size:11px}.files-upload-row{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.file-type-tabs{flex-wrap:wrap;flex:1;gap:6px;display:flex}.file-type-tab{background:var(--card);border:1px solid var(--card-border);font-size:12px;font-weight:500;font-family:var(--font);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:4px 10px;transition:all .12s}.file-type-tab:hover{border-color:var(--accent);color:var(--accent)}.files-upload-btn{flex-shrink:0}.files-group{margin-top:4px}.files-group-label{text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700}.files-list{flex-direction:column;gap:4px;display:flex}.file-item{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;transition:border-color .15s;display:flex}.file-item:hover{border-color:var(--accent)}.file-item__icon{flex-shrink:0;font-size:18px}.file-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-item__name{color:var(--primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);text-align:left;background:0 0;border:none;padding:0;text-decoration:none;overflow:hidden}.file-item__name:hover{color:var(--accent);text-decoration:underline}.file-item__meta{color:var(--text-muted);font-size:11px}.file-item__btns{flex-shrink:0;align-items:center;gap:2px;display:flex}.file-preview-hint{color:var(--accent);font-style:italic}.files-thumbs{flex-wrap:wrap;gap:8px;padding:4px 0 8px;display:flex}.file-thumb{border-radius:var(--radius-sm);border:2px solid var(--card-border);cursor:pointer;background:var(--bg);flex-shrink:0;width:80px;height:80px;padding:0;transition:border-color .15s,transform .15s;overflow:hidden}.file-thumb:hover{border-color:var(--accent);transform:scale(1.04)}.file-thumb img{object-fit:cover;width:100%;height:100%;display:block}.file-preview-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050f1ee0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.file-preview-modal{background:#111820;border-radius:10px;flex-direction:column;width:calc(100vw - 80px);max-width:1200px;height:calc(100vh - 60px);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 48px #000000b3}.file-preview-header{background:#ffffff0f;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.file-preview-title{align-items:center;gap:10px;min-width:0;display:flex}.file-preview-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:500px;font-size:13px;font-weight:600;overflow:hidden}.file-preview-counter{color:#ffffff73;flex-shrink:0;font-size:12px}.file-preview-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.file-preview-actions .btn-outline{color:#ffffffbf;background:0 0;border-color:#ffffff40;font-size:12px}.file-preview-actions .btn-outline:hover{color:#fff;border-color:#fff}.file-preview-actions .modal-close{color:#fff9}.file-preview-actions .modal-close:hover{color:#fff;background:#ffffff1a}.file-preview-body{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;position:relative;overflow:hidden}.file-preview-image{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 4px 24px #00000080}.file-preview-pdf{background:#fff;border:none;border-radius:4px;width:100%;height:100%}.file-preview-unsupported{color:#fff9;text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.file-preview-icon{opacity:.5;font-size:56px}.file-preview-nav{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;width:48px;height:72px;font-size:32px;line-height:1;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.file-preview-nav:hover:not(:disabled){background:#ffffff38}.file-preview-nav--disabled{opacity:.2;cursor:default}.file-preview-nav--prev{left:12px}.file-preview-nav--next{right:12px}.app-nav{background:var(--bg);border-radius:8px;gap:4px;margin-left:8px;padding:3px;display:flex}.app-nav-btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .15s}.app-nav-btn:hover{color:var(--text-primary)}.app-nav-btn--active{background:var(--card);color:var(--primary);box-shadow:0 1px 3px #0a3d6226}.teller-form{background:var(--bg);border-radius:var(--radius);border:1px solid var(--card-border);flex-direction:column;gap:8px;margin:12px 14px 0;padding:12px;display:flex}.tellers-list{flex-direction:column;gap:6px;margin-top:8px;padding:0 14px;display:flex}.panel>.tellers-list:last-child{padding-bottom:14px}.pt-projects-list{flex-direction:column;gap:10px;padding:14px;display:flex}.add-project-form{background:var(--bg);border-bottom:1px solid var(--card-border);flex-direction:column;gap:8px;padding:14px;display:flex}.pt-project-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);transition:box-shadow .15s;overflow:hidden}.pt-project-card--open{box-shadow:var(--shadow-lg);border-color:var(--accent)}.pt-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.pt-card-header:hover{background:var(--card-hover)}.pt-card-header__left{align-items:center;gap:10px;min-width:0;display:flex}.pt-card-chevron{color:var(--text-muted);flex-shrink:0;width:14px;font-size:14px}.pt-card-title{color:var(--text-primary);font-size:15px;font-weight:700}.pt-card-subtitle{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-top:3px;font-size:12px;display:flex}.pt-projnr{color:var(--accent);margin-right:6px;font-weight:700}.pt-card-meta{flex-wrap:wrap;align-items:center;gap:7px;margin-top:4px;display:flex}.pt-workflow-badge{white-space:nowrap;border:1px solid;border-radius:11px;padding:2px 9px;font-size:11px;font-weight:700}.pt-soort-badge{background:var(--bg);border:1px solid var(--card-border);color:var(--text-secondary);border-radius:11px;padding:2px 9px;font-size:11px;font-weight:600}.pt-meta-item{color:var(--text-muted);font-size:12px}.pt-bezetting{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.pt-remarks{color:var(--text-secondary);background:var(--bg);border-radius:var(--radius-sm);margin-bottom:10px;padding:8px 10px;font-size:12px}.pt-card-header__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.pt-status-badge{white-space:nowrap;border:1px solid;border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:flex}.pt-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pt-card-body{border-top:1px solid var(--card-border);background:#fafcff;padding:14px}.pt-edit-form{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.moments-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.moment-row{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:10px 12px;display:flex;position:relative}.moment-row--full{background:#1e9e5a08;border-color:#1e9e5a4d}.moment-row__left{flex-shrink:0;align-items:flex-start;gap:8px;min-width:220px;display:flex}.moment-row__status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.moment-row__info{flex-direction:column;gap:1px;display:flex}.moment-row__datetime{color:var(--text-primary);font-size:13px;font-weight:600}.moment-row__location{color:var(--text-secondary);font-size:12px}.moment-row__notes{color:var(--text-muted);margin-top:1px;font-size:11px;font-style:italic}.moment-row__right{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.moment-row__tellers{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.moment-row__actions{flex-shrink:0;align-self:flex-start;gap:2px;display:flex}.moment-row__act{color:var(--text-muted);cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;transition:opacity .15s,color .15s}.moment-row__act:hover{opacity:1;color:var(--accent)}.moment-row__act--danger:hover{color:var(--danger)}.pt-fill-bar{align-items:center;gap:8px;display:flex}.pt-fill-bar__track{background:var(--card-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.pt-fill-bar__fill{border-radius:3px;height:100%;transition:width .3s}.pt-fill-bar__label{text-align:right;flex-shrink:0;min-width:28px;font-size:11px;font-weight:700}.teller-chip{background:var(--accent-dim);color:var(--text-primary);border:1px solid #009bb540;border-radius:12px;align-items:center;gap:5px;padding:3px 8px 3px 4px;font-size:12px;font-weight:500;display:inline-flex}.teller-chip__avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:flex}.teller-chip__name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.teller-chip__remove{color:var(--text-muted);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:13px;line-height:1;transition:opacity .15s,color .15s}.teller-chip__remove:hover{opacity:1;color:var(--danger)}.teller-quick-assign{border:1px dashed var(--accent);color:var(--accent);font-family:var(--font);cursor:pointer;background:0 0;border-radius:12px;outline:none;height:24px;padding:2px 8px;font-size:11px;font-weight:600}.teller-quick-assign:focus{box-shadow:0 0 0 2px var(--accent-dim)}.add-moment-form{background:var(--card);border:1px dashed var(--card-border);border-radius:var(--radius);margin-top:4px;padding:12px}.add-moment-form__row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.add-moment-form__row .form-field{flex:1;min-width:140px}.btn-add-moment{border:1px dashed var(--card-border);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font);cursor:pointer;text-align:center;background:0 0;margin-top:4px;padding:8px;font-size:12px;font-weight:500;transition:all .15s;display:block}.btn-add-moment:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.panel-header__actions{align-items:center;gap:6px;display:flex}.btn-whatsapp{color:#fff;background:#25d366}.btn-whatsapp:hover:not(:disabled){background:#1da851}.teller-card__phone-input{border:1px solid var(--accent);width:110px;font-size:11px;font-family:var(--font);border-radius:4px;outline:none;padding:1px 5px}.teller-card__phone{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:11px}.teller-card__phone:hover{color:var(--accent);text-decoration:underline}.teller-card__addphone{color:var(--accent);cursor:pointer;text-align:left;opacity:.7;background:0 0;border:none;padding:0;font-size:11px}.teller-card__addphone:hover{opacity:1}.msg-modal{flex-direction:column;width:100%;max-width:620px;max-height:86vh;display:flex}.msg-period{border-bottom:1px solid var(--card-border);align-items:center;gap:12px;padding:12px 20px;display:flex}.msg-period__label{color:var(--text-secondary);font-size:13px;font-weight:600}.msg-period__btns{background:var(--bg);border-radius:8px;gap:4px;padding:3px;display:flex}.msg-period__btn{color:var(--text-muted);font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:600;transition:all .15s}.msg-period__btn--active{background:var(--card);color:var(--primary);box-shadow:0 1px 3px #0a3d6226}.msg-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.msg-teller{border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden}.msg-teller__head{background:var(--bg);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.msg-teller__id{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.msg-teller__name{color:var(--text-primary);font-size:14px;font-weight:700}.msg-teller__phone{color:var(--text-secondary);font-size:12px}.msg-teller__nophone{color:var(--warning);font-size:12px;font-weight:600}.msg-teller__count{background:var(--accent-dim);color:var(--accent);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.msg-teller__actions{flex-shrink:0;gap:6px;display:flex}.msg-teller__preview{font-family:var(--font);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--card);margin:0;padding:12px;font-size:12px;line-height:1.5}.tellers-group-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin:12px 14px 0;font-size:10px;font-weight:700}.teller-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;transition:box-shadow .15s;display:flex}.teller-card:hover{box-shadow:var(--shadow)}.teller-card__avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.teller-card__info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.teller-card__name{color:var(--text-primary);font-size:13px;font-weight:600}.teller-card__phone{color:var(--text-muted);font-size:11px}.teller-card__right{flex-shrink:0;align-items:center;gap:7px;display:flex}.teller-busy-badge{background:var(--accent-dim);color:var(--accent);border-radius:10px;padding:2px 7px;font-size:11px;font-weight:700}.teller-free-badge{background:var(--success-dim);color:var(--success);border-radius:10px;padding:2px 7px;font-size:11px;font-weight:600}.panel-subtitle{color:var(--text-muted);margin-left:6px;font-size:11px;font-weight:400}.users-modal{flex-direction:column;width:100%;max-width:640px;max-height:86vh;display:flex}.users-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.user-form{background:var(--bg);border:1px solid var(--card-border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.user-admin-check{color:var(--text-secondary);white-space:nowrap;cursor:pointer;align-self:flex-end;align-items:center;gap:6px;padding-bottom:8px;font-size:13px;font-weight:600;display:flex}.users-list{flex-direction:column;gap:6px;display:flex}.user-row{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.user-row__main{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.user-row__username{color:var(--text-primary);font-size:14px;font-weight:700}.user-row__name{color:var(--text-muted);font-size:13px}.user-row__phone{color:var(--text-secondary);font-size:12px}.user-row__nophone{color:var(--warning);font-size:11px;font-style:italic}.msg-signoff-warn{background:var(--warning-dim);border-radius:var(--radius-sm);color:#8a5d00;border:1px solid #e094004d;margin:12px 20px 0;padding:9px 12px;font-size:12px}.user-admin-badge{text-transform:uppercase;letter-spacing:.4px;color:var(--accent);background:var(--accent-dim);border-radius:8px;padding:2px 7px;font-size:10px;font-weight:700}.user-you-badge{color:var(--green);background:var(--green-dim);border-radius:8px;padding:2px 7px;font-size:10px;font-weight:700}.user-row__actions,.user-reset{flex-shrink:0;align-items:center;gap:6px;display:flex}
