body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b1020;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes pdf-spin{to{transform:rotate(1turn)}}@keyframes pwa-ios-pulse{0%{opacity:1;transform:translateY(0)}50%{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pwa-ios-pulse-arrow{animation:pwa-ios-pulse 1.6s ease-in-out infinite}.toast-container{display:flex;flex-direction:column;gap:10px;left:50%;max-width:400px;pointer-events:none;position:fixed;top:20px;transform:translateX(-50%);width:90%;z-index:99999}.toast-container>*{pointer-events:auto}.toast{align-items:center;animation:slideIn .3s ease-out;background:#fff!important;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex!important;justify-content:space-between;max-width:400px;min-width:300px;padding:16px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast-error{border-left-color:#dc2626}.toast-success{border-left-color:#10b981}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-content{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.toast-message{color:#1f2937;flex:1 1;font-size:14px;font-weight:500;line-height:1.5}.toast-error .toast-message{color:#dc2626}.toast-success .toast-message{color:#10b981}.toast-warning .toast-message{color:#f59e0b}.toast-info .toast-message{color:#3b82f6}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.toast-close:hover{background-color:#0000000d}.toast-progress-bar-container{background-color:#e5e7eb;border-radius:2px;height:4px;margin-top:8px;overflow:hidden;width:100%}.toast-progress-bar{background-color:#3b82f6;border-radius:2px;height:100%;transition:width .3s ease-out}.toast-success .toast-progress-bar{background-color:#10b981}.toast-error .toast-progress-bar{background-color:#dc2626}.toast-warning .toast-progress-bar{background-color:#f59e0b}@media (max-width:768px){.toast-container{left:50%;max-width:none;top:10px;transform:translateX(-50%);width:calc(100% - 20px)}}.brp-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172af7;border:1px solid #6366f159;border-radius:14px;bottom:24px;box-shadow:0 8px 40px #0000008c;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-height:70vh;overflow:hidden;position:fixed;right:24px;transition:max-height .25s ease,width .25s ease;width:380px;z-index:10001}.brp-panel.brp-minimized{max-height:52px;width:320px}.brp-panel-header{align-items:center;border-bottom:1px solid #6366f126;cursor:pointer;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.brp-panel-header:hover{background:#6366f10f}.brp-panel-title{align-items:center;color:#e2e8f0;display:flex;font-size:13px;font-weight:600;gap:8px}.brp-panel-icon{color:#6366f1;font-size:10px}.brp-panel-count{background:#6366f133;border-radius:10px;color:#818cf8;font-size:11px;font-weight:700;padding:1px 7px}.brp-panel-badges{display:flex;gap:6px}.brp-badge{border-radius:8px;font-size:10px;font-weight:600;padding:2px 8px}.brp-badge-active{background:#60a5fa26;color:#60a5fa}.brp-badge-done{background:#34d39926;color:#34d399}.brp-badge-fail{background:#f8717126;color:#f87171}.brp-panel-body{flex:1 1;gap:6px;overflow-y:auto;padding:8px}.brp-panel-body,.brp-task-item{display:flex;flex-direction:column}.brp-task-item{background:#1e293bcc;border:1px solid #33415599;border-radius:10px;gap:4px;padding:10px 12px}.brp-task-header{align-items:center;display:flex;gap:8px}.brp-task-type{color:#e2e8f0;flex:1 1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brp-task-time{color:#64748b;flex-shrink:0;font-size:10px}.brp-task-dismiss{background:none;border:none;color:#64748b;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;padding:0 2px}.brp-task-dismiss:hover{color:#f87171}.brp-task-filters{color:#94a3b8;font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brp-task-status{align-items:center;display:flex;font-size:11px;font-weight:600;gap:6px;margin-top:2px}.brp-status-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.brp-task-item .brp-task-status:first-of-type .brp-status-dot{animation:brp-pulse 1.5s ease-in-out infinite}@keyframes brp-pulse{0%,to{opacity:1}50%{opacity:.3}}.brp-task-error{color:#f87171;font-size:11px;margin-top:2px}.brp-download-btn{background:#34d39926;border:1px solid #34d39959;border-radius:8px;color:#34d399;cursor:pointer;font-size:11px;font-weight:600;margin-top:6px;padding:6px 12px;text-align:center;width:100%}.brp-download-btn:hover{background:#34d39940}.brp-clear-btn{background:#6366f11a;border:1px solid #6366f140;border-radius:8px;color:#818cf8;cursor:pointer;font-size:11px;font-weight:600;margin-top:4px;padding:6px 12px;text-align:center}.brp-clear-btn:hover{background:#6366f133}.brp-panel-body::-webkit-scrollbar{width:5px}.brp-panel-body::-webkit-scrollbar-track{background:#0000}.brp-panel-body::-webkit-scrollbar-thumb{background:#6366f140;border-radius:3px}.brp-toast{align-items:center;animation:brp-toast-in .35s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;bottom:24px;box-shadow:0 6px 24px #0006;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:500;gap:10px;left:50%;padding:12px 20px;position:fixed;transform:translateX(-50%);white-space:nowrap;z-index:10002}.brp-toast-success{background:#10b981eb;border:1px solid #34d39980;color:#ecfdf5}.brp-toast-error{background:#ef4444eb;border:1px solid #f8717180;color:#fef2f2}.brp-toast-info{background:#6366f1eb;border:1px solid #818cf880;color:#eef2ff}.brp-toast-icon{flex-shrink:0;font-size:15px}.brp-toast-message{flex:1 1}.brp-toast-close{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;opacity:.6;padding:0 2px}.brp-toast-close:hover{opacity:1}@keyframes brp-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.modal.open.capture-modal{align-items:stretch;background:#000;justify-content:stretch;padding:0}.capture-stage{background:#000;color:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;height:100%;width:100%}.capture-topbar{align-items:center;display:flex;flex-shrink:0;gap:10px;justify-content:space-between;padding:10px 12px}.capture-topbar-side{align-items:center;display:flex;gap:8px;min-width:72px}.capture-topbar-side.right{justify-content:flex-end}.capture-icon-btn{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff2e;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;height:38px;justify-content:center;line-height:1;transition:background .15s ease,transform .1s ease;width:38px}.capture-icon-btn:hover{background:#ffffff4d}.capture-icon-btn-wrap{display:inline-flex;position:relative}.capture-icon-btn-wrap[data-tooltip]:after{background:#000000d9;border-radius:6px;bottom:calc(100% + 8px);color:#fff;content:attr(data-tooltip);font-size:12px;font-weight:500;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(3px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;z-index:10}.capture-icon-btn-wrap[data-tooltip]:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.capture-icon-btn:active{transform:scale(.92)}.capture-count{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#ffd60a}.capture-count,.capture-rec{background:#00000073;border-radius:12px;font-size:13px;font-weight:600;padding:5px 10px;white-space:nowrap}.capture-rec{align-items:center;color:#fff;display:inline-flex;gap:7px}.capture-rec-dot{animation:capture-rec-blink 1s steps(1) infinite;background:#ff3b30;border-radius:50%;height:9px;width:9px}@keyframes capture-rec-blink{0%,50%{opacity:1}50.01%,to{opacity:.25}}.capture-body{flex:1 1;margin:0 auto;max-width:760px;min-height:0;padding:0 12px}.capture-body,.capture-viewfinder{align-items:center;display:flex;justify-content:center;width:100%}.capture-viewfinder{background:#111827;border-radius:18px;min-height:240px}.capture-video-wrap,.capture-viewfinder{height:100%;overflow:hidden;position:relative}.capture-video-wrap{width:100%}.capture-video{background:#111827;display:block;height:100%;object-fit:cover;transform-origin:center center;transition:transform .08s linear;width:100%}.capture-loading{align-items:center;color:#e2e8f0;display:flex;flex-direction:column;font-size:14px;gap:12px;height:100%;justify-content:center;width:100%}.capture-loading-spinner{animation:capture-spin .8s linear infinite;border:3px solid #ffffff2e;border-radius:50%;border-top-color:#fff;height:34px;width:34px}@keyframes capture-spin{to{transform:rotate(1turn)}}.capture-flash{animation:capture-flash-anim .16s ease-out forwards;background:#fff;inset:0;opacity:0;pointer-events:none;position:absolute;z-index:5}@keyframes capture-flash-anim{0%{opacity:.85}to{opacity:0}}.capture-zoom{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#00000059;border-radius:18px;display:flex;flex-direction:column;gap:6px;padding:10px 4px;position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:6}.capture-zoom-slider{accent-color:#ffd60a;background:#0000;cursor:pointer;direction:rtl;height:150px;width:22px;writing-mode:vertical-lr}.capture-zoom-label{background:#00000073;border-radius:10px;color:#ffd60a;font-size:11px;font-weight:700;min-width:30px;padding:2px 7px;text-align:center}.capture-controls{flex-shrink:0;margin:0 auto;max-width:760px;padding:10px 12px 18px;width:100%}.capture-modes{display:flex;justify-content:center;margin:6px auto 18px;max-width:380px;position:relative;width:100%}.capture-mode{background:none;border:none;color:#ffffffa6;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;letter-spacing:.4px;padding:8px 4px;text-align:center;text-transform:uppercase;transition:color .18s ease}.capture-mode:hover{color:#ffffffe6}.capture-mode:disabled{cursor:default;opacity:.4}.capture-mode.active{color:#ffd60a}.capture-mode-indicator{background:#ffd60a;border-radius:2px;bottom:2px;height:3px;left:0;position:absolute;transition:transform .22s cubic-bezier(.4,0,.2,1)}.capture-shutter-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.capture-shutter-side{align-items:center;display:flex;flex:1 1}.capture-shutter-side.right{justify-content:flex-end}.capture-pill{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff29;border:1px solid #ffffff47;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .15s ease,transform .1s ease}.capture-pill:hover{background:#ffffff42}.capture-pill:active{transform:scale(.95)}.capture-pill:disabled{cursor:default;opacity:.5}.capture-upload-btn{font-size:15px;padding:10px 24px}.capture-shutter{border:3px solid #fff;border-radius:50%;cursor:pointer;height:78px;padding:0;position:relative;transition:transform .1s ease,opacity .15s ease;width:78px}.capture-shutter:disabled{cursor:default;opacity:.45}.capture-shutter:not(:disabled):active{transform:scale(.9)}.capture-shutter-stop:after,.capture-shutter:after{border-radius:50%;content:"";position:absolute}.capture-shutter-photo{background:#fff3}.capture-shutter-photo:after{background:#fff;inset:9px}.capture-shutter-video{background:#fff3}.capture-shutter-video:after{background:#ff3b30;inset:9px}.capture-shutter-stop{animation:capture-shutter-pulse 1.4s ease-in-out infinite;background:#fff3}.capture-shutter-stop:after{background:#ff3b30;border-radius:8px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);width:32px}@keyframes capture-shutter-pulse{0%,to{box-shadow:0 0 0 0 #ff3b3080}50%{box-shadow:0 0 0 12px #ff3b3000}}.capture-panel{align-items:center;background:#0000006b;border:1px solid #ffffff24;border-radius:16px;display:flex;flex-direction:column;gap:14px;max-width:460px;padding:22px;text-align:center;width:100%}.capture-panel-msg{color:#ff8a80;font-size:14px;margin:0}.capture-panel-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}:root{--bg-2:#1e293b;--border:#334155;--brand:#3b82f6;--text:#f8fafc;--text-2:#94a3b8}.two-column-layout{grid-gap:24px;align-items:start;gap:24px;grid-template-columns:220px 1fr}.sections-list{background:#1e293b;border:1px solid #334155;border-radius:12px;gap:12px;padding:16px;position:-webkit-sticky;position:sticky}.section-item,.sections-list{display:flex;flex-direction:column}.section-item{background:#0f172a;border:1px solid #334155;border-radius:10px;cursor:pointer;justify-content:space-between;margin-bottom:0;min-height:120px;padding:18px;position:relative;transition:all .3s ease}.section-item:hover{background:#3b82f61a;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateX(4px)}.section-item.active{background:#3b82f626;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.section-item h3{color:#e2e8f0;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 12px}.section-item .btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;margin-top:auto;padding:10px 16px;text-align:center;transition:all .2s ease;width:100%}.section-item .btn:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.details-panel{background:#1e293b;border:1px solid #334155;border-radius:12px;box-shadow:0 2px 8px #00000026;min-height:600px;overflow:hidden;padding:24px}.details-content{height:100%}.filters-header{border-bottom:1px solid #334155;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding-bottom:24px}.filter-group,.filters-header{align-items:center;display:flex}.filter-group{gap:8px}.filter-group label{color:#3b82f6;font-size:14px}.filter-group input,.filter-group select{background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:14px;padding:8px 12px}.record-item{background:#0a0f1a!important}.record-item>div>div>div{word-wrap:break-word;max-width:600px}.record-header{align-items:flex-start;background:#0000!important;border-bottom:1px solid #334155!important;margin-bottom:0!important;padding:20px}.record-date-time{display:flex;flex-direction:column;gap:4px}.record-date{color:#3b82f6;font-size:14px}.record-time{color:#e2e8f0;font-size:16px;font-weight:600}.record-user{color:#3b82f6;font-size:14px;margin-top:4px}.record-user span{color:#e2e8f0}.record-details{color:#cbd5e1;font-size:15px;padding:20px 0}.record-row{align-items:baseline;display:flex;margin-bottom:8px}.record-label{color:#3b82f6;font-size:14px;font-weight:400;min-width:60px}.record-value{color:#e2e8f0;font-size:14px}.record-actions{flex-direction:column}.btn-action{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;min-width:70px;padding:6px 12px;text-align:center}.btn-action:hover{background:#2563eb}.btn-secondary{background:#475569}.btn-secondary:hover{background:#334155}.work-log-timer-display{background:#0f172a!important;border-color:#334155!important;color:#e2e8f0!important}@media (max-width:1024px){.two-column-layout{gap:16px;grid-template-columns:280px 1fr}}@media (max-width:768px){.two-column-layout{grid-template-columns:1fr}.sections-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));position:static}.section-item{flex-direction:column;gap:12px;margin-bottom:0;min-height:auto;text-align:center}.section-item .btn{margin-top:8px}.section-item:hover{transform:translateY(-2px)}.details-panel{min-height:auto}}[id^=roomDimensions_]{scrollbar-color:#94a3b8b3 #0000;scrollbar-width:thin}[id^=roomDimensions_]::-webkit-scrollbar{height:2px}[id^=roomDimensions_]::-webkit-scrollbar-track{background:#0000}[id^=roomDimensions_]::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}[id^=roomDimensions_]::-webkit-scrollbar-thumb:hover{background:#94a3b8cc}*{box-sizing:border-box}body,html{height:100%}body{font:var(--font-size-base)/var(--line-height-base) var(--font-family);margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family)}input:disabled{background:#f3f4f6!important;border:1px solid #d1d5db!important;border-radius:4px!important;color:#6b7280!important;cursor:not-allowed!important}.two-column-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:520px 1fr;height:calc(100vh - 160px);overflow:hidden}.app{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;height:100vh}.sidebar{background:var(--bg);color:var(--text);grid-row:1/span 2;overflow-y:auto;padding:18px 14px;scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:1px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:0}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff40}.topbar{align-items:center;background:var(--bg-2);box-shadow:var(--shadow);color:#e5e7eb;display:flex;gap:12px;grid-column:2;justify-content:space-between;padding:12px 18px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.topbar h1{flex:1 1}.topbar-actions{align-items:center;display:flex;gap:8px}@media (min-width:1025px){.topbar{max-width:calc(100vw - 240px)}}.content{background:#0b1020;grid-column:2;padding:18px}@media (max-width:768px){.rooms-grid{gap:15px;grid-template-columns:1fr}}.room-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.room-list-header{flex-wrap:wrap;gap:15px}.header-left h3{color:#000;font-size:18px;margin:0}.project-selector label{color:#6b7280}.project-selector select{border:1px solid #d1d5db;border-radius:8px}.header-right{display:flex;gap:10px}@media (max-width:920px){.app{grid-template-columns:72px 1fr}.brand span,.menu a span{display:none}.menu a .ico{margin:auto}}.page-loader{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;height:100%;justify-content:center;left:0;opacity:1;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:visible;width:100%;z-index:10000}.page-loader.hidden{opacity:0;pointer-events:none;visibility:hidden}.loader-content{align-items:center;display:flex;flex-direction:column;gap:24px;text-align:center}.loader-spinner{height:80px;position:relative;width:80px}.spinner-ring{animation:loader-spin 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid #0000;border-radius:50%;border-top-color:#2563eb;height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-delay:-.45s;border-top-color:#2563eb}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#3b82f6;height:70%;left:15%;top:15%;width:70%}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#60a5fa;height:50%;left:25%;top:25%;width:50%}.spinner-ring:nth-child(4){animation-delay:0s;border-top-color:#93c5fd;height:30%;left:35%;top:35%;width:30%}.loader-text{animation:loader-pulse 2s ease-in-out infinite;color:#e2e8f0;font-size:18px;font-weight:500;letter-spacing:.5px}@keyframes loader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes loader-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.loader-spinner{height:60px;width:60px}.loader-text{font-size:16px}}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive,.status-badge.suspended{background:#fee2e2;color:#991b1b}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.badge-superadmin{background-color:#d1fae5;color:#065f46}.badge-admin{background-color:#dbeafe;color:#1e40af}.badge-regular{background-color:#f3f4f6;color:#374151}.badge-active{background-color:#d1fae5;color:#065f46}.badge-suspended{background-color:#fee2e2;color:#991b1b}table tbody .badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:normal;padding:4px 10px;text-transform:none}table tbody .badge-superadmin{background:#10b98133;border:1px solid #10b9814d;color:#10b981}table tbody .badge-admin{background:#3b82f633;border:1px solid #3b82f64d;color:#3b82f6}table tbody .badge-regular{background:#9ca3af33;border:1px solid #9ca3af4d;color:#9ca3af}table tbody .badge-active{background:#10b98133;border:1px solid #10b9814d;color:#10b981}table tbody .badge-suspended{background:#f59e0b33;border:1px solid #f59e0b4d;color:#f59e0b}table tbody .badge-archived{background:#6b728033;border:1px solid #6b72804d;color:#6b7280}.projects-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.badge-project{text-transform:none}.badge-project,table tbody .badge-project{align-items:center;border:1px solid #6366f159;border-radius:999px;color:#a5b4fc;display:inline-flex;gap:8px;white-space:nowrap}table tbody .badge-project{background:#586d1e33}.project-badge-remove{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:inherit;cursor:pointer;font-size:16px;line-height:1;opacity:.85;padding:0 4px}.project-badge-remove:disabled{cursor:not-allowed;opacity:.5}.assigned-projects-list{border:1px solid var(--border);border-radius:10px;overflow:hidden}.assigned-project-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.assigned-project-item:last-child{border-bottom:0}.assigned-project-text{min-width:0}.assigned-project-name{color:#000;font-size:14px;font-weight:700}.assigned-project-meta,.assigned-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-project-meta{color:#353030;font-size:12px;margin-top:2px}.assigned-project-item .btn{margin:0;min-width:auto}.pagination-bar{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:12px}.pagination-summary{color:#9ca3af;font-size:.9rem}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}@media (max-width:1024px){.pagination-bar{align-items:stretch;flex-direction:column}.pagination-summary{text-align:center}.pagination-controls{justify-content:center}}.btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;justify-content:center;margin:5px;min-width:85px;padding:10px 20px;transition:.15s ease}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-2)}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-close{background:#e5e7eb;border-color:#d1d5db;color:#111827;font-size:15px;font-weight:500;padding:10px 16px}.btn-close:hover{background:#d1d5db}.btn-sm{font-size:13px;min-height:32px;min-width:auto;padding:6px 12px}.btn-md{font-size:14px;min-height:36px;padding:8px 16px}.btn-lg{font-size:16px;min-height:44px;padding:12px 24px}.btn-edit{background:#64748b;border-color:#64748b;color:#fff}.btn-edit:hover{background:#475569;border-color:#475569;box-shadow:0 2px 8px #64748b4d;transform:translateY(-1px)}.btn-suspend{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn-suspend:hover{background:#d97706;border-color:#d97706;box-shadow:0 2px 8px #f59e0b66;transform:translateY(-1px)}.btn-reinstate{background:#10b981;border-color:#10b981;color:#fff}.btn-reinstate:hover{background:#059669;border-color:#059669;box-shadow:0 2px 8px #10b98166;transform:translateY(-1px)}.btn-archive{background:#ef4444;border-color:#ef4444;color:#fff}.btn-archive:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 2px 8px #ef444466;transform:translateY(-1px)}table td:last-child .btn{margin-right:6px;min-width:150px}table td:last-child .btn:last-child{margin-right:0}.panel{background:var(--bg-2)!important;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.section{display:none}.section.active{display:block!important}#room-detail{display:none}#room-detail.active{display:block!important}.stats{grid-gap:14px!important;display:grid!important;gap:14px!important;grid-template-columns:repeat(auto-fit,minmax(20%,1fr))!important;margin:20px 0}.stat{align-items:center;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;min-height:80px;padding:20px;transition:transform .2s ease}.stat:hover{box-shadow:0 6px 12px #00000026}.quick-actions{background:var(--bg-2);border-radius:8px;margin-top:30px;padding:20px}.quick-action-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.quick-action-buttons .btn{align-items:center;display:flex;flex-direction:column;gap:8px;min-height:100px;padding:15px;transition:all .2s ease}.quick-action-buttons .btn:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.quick-action-buttons .btn span:first-child{font-size:24px;line-height:1}.work-log-timer-display{font-size:var(--font-size-xs);height:32px;margin:0;padding:6px 10px;white-space:nowrap}.stat:hover{transform:translateY(-2px)}.stat.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat.success{background:linear-gradient(135deg,#10b981,#059669)}.stat.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat.info{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.stat-icon{font-size:32px;margin-right:16px;opacity:.9}.stat-content{display:flex;flex:1 1;flex-direction:column}.stat-value{font-size:28px;font-weight:700;line-height:1.2;margin-bottom:4px}.stat-label{font-size:14px;font-weight:500;letter-spacing:.5px;opacity:.9;text-transform:uppercase}#users .panel{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #00000026;padding:24px}#users table{border-radius:10px;overflow:hidden}#users table thead th{background:var(--bg);border-bottom:2px solid var(--border);color:#e2e8f0;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 18px;text-transform:uppercase}#users table tbody tr{background:var(--bg-2);transition:all .2s ease}#users table tbody tr:hover{background:#3b82f60d;transform:translateX(2px)}#users table tbody tr:nth-child(2n){background:var(--bg)}#users table tbody tr:nth-child(2n):hover{background:#3b82f614}#users table tbody td{border-top:1px solid var(--border);color:#cbd5e1;font-size:14px;padding:16px 18px;vertical-align:middle}#users table tbody td:first-child{color:#e2e8f0;font-weight:500}#users table tbody td:nth-child(2){color:#cbd5e1}#users table tbody td:nth-child(5){word-wrap:break-word;color:#e2e8f0;line-height:1.6;max-width:250px;overflow-wrap:break-word;white-space:normal}#users table tbody td:last-child{padding:12px 18px}#users table tbody td:last-child .btn{margin-right:6px;min-width:150px}#users table tbody td:last-child .btn:last-child{margin-right:0}#activityLogs .panel,#archive .panel,#contents .panel,#deletion-requests .panel,#environmentalData .panel,#equipment .panel,#equipmentTypes .panel,#pending-deletions .panel,#permissions .panel,#projects .panel,#roomTypes .panel,#users .panel,#workLogTypes .panel{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #00000026;padding:24px}#activityLogs table,#archive table,#contents table,#deletion-requests table,#environmentalData table,#equipment table,#equipmentTypes table,#pending-deletions table,#permissions table,#roomTypes table,#users table,#workLogTypes table{border-radius:10px;overflow:hidden}#activityLogs table thead th,#archive table thead th,#contents table thead th,#deletion-requests table thead th,#environmentalData table thead th,#equipment table thead th,#equipmentTypes table thead th,#pending-deletions table thead th,#permissions table thead th,#roomTypes table thead th,#users table thead th,#workLogTypes table thead th{background:var(--bg);color:#e2e8f0;font-size:14px;font-weight:600;padding:16px 18px}#activityLogs table tbody td,#archive table tbody td,#contents table tbody td,#deletion-requests table tbody td,#environmentalData table tbody td,#equipment table tbody td,#equipmentTypes table tbody td,#pending-deletions table tbody td,#permissions table tbody td,#roomTypes table tbody td,#users table tbody td,#workLogTypes table tbody td{border-top:1px solid var(--border);color:#cbd5e1;font-size:14px;line-height:21px;padding:16px 18px;vertical-align:middle}#activityLogs table tbody tr,#archive table tbody tr,#contents table tbody tr,#deletion-requests table tbody tr,#environmentalData table tbody tr,#equipment table tbody tr,#equipmentTypes table tbody tr,#pending-deletions table tbody tr,#permissions table tbody tr,#roomTypes table tbody tr,#users table tbody tr,#workLogTypes table tbody tr{background:var(--bg-2);transition:all .2s ease}#activityLogs table tbody tr:hover,#archive table tbody tr:hover,#contents table tbody tr:hover,#deletion-requests table tbody tr:hover,#environmentalData table tbody tr:hover,#equipment table tbody tr:hover,#equipmentTypes table tbody tr:hover,#pending-deletions table tbody tr:hover,#permissions table tbody tr:hover,#roomTypes table tbody tr:hover,#users table tbody tr:hover,#workLogTypes table tbody tr:hover{background:#3b82f60d;transform:translateX(2px)}#activityLogs table tbody tr:nth-child(2n),#archive table tbody tr:nth-child(2n),#contents table tbody tr:nth-child(2n),#deletion-requests table tbody tr:nth-child(2n),#environmentalData table tbody tr:nth-child(2n),#equipment table tbody tr:nth-child(2n),#equipmentTypes table tbody tr:nth-child(2n),#pending-deletions table tbody tr:nth-child(2n),#permissions table tbody tr:nth-child(2n),#roomTypes table tbody tr:nth-child(2n),#users table tbody tr:nth-child(2n),#workLogTypes table tbody tr:nth-child(2n){background:var(--bg)}#activityLogs table tbody tr:nth-child(2n):hover,#archive table tbody tr:nth-child(2n):hover,#contents table tbody tr:nth-child(2n):hover,#deletion-requests table tbody tr:nth-child(2n):hover,#environmentalData table tbody tr:nth-child(2n):hover,#equipment table tbody tr:nth-child(2n):hover,#equipmentTypes table tbody tr:nth-child(2n):hover,#pending-deletions table tbody tr:nth-child(2n):hover,#permissions table tbody tr:nth-child(2n):hover,#roomTypes table tbody tr:nth-child(2n):hover,#users table tbody tr:nth-child(2n):hover,#workLogTypes table tbody tr:nth-child(2n):hover{background:#3b82f614}#contents table tbody td:first-child,#environmentalData table tbody td:first-child,#equipment table tbody td:first-child,#equipmentTypes table tbody td:first-child,#roomTypes table tbody td:first-child,#workLogTypes table tbody td:first-child{color:#9ca3af;font-weight:600}#archive table tbody td:nth-child(2),#contents table tbody td:nth-child(2),#deletion-requests table tbody td:nth-child(2),#environmentalData table tbody td:nth-child(2),#equipment table tbody td:nth-child(2),#equipmentTypes table tbody td:nth-child(2),#pending-deletions table tbody td:nth-child(2),#permissions table tbody td:first-child,#roomTypes table tbody td:nth-child(2),#users table tbody td:first-child,#workLogTypes table tbody td:nth-child(2){color:#e2e8f0;font-size:16px;font-weight:700}#archive table tbody td:last-child,#contents table tbody td:last-child,#deletion-requests table tbody td:last-child,#environmentalData table tbody td:last-child,#equipment table tbody td:last-child,#equipmentTypes table tbody td:last-child,#pending-deletions table tbody td:last-child,#permissions table tbody td:last-child,#roomTypes table tbody td:last-child,#users table tbody td:last-child,#workLogTypes table tbody td:last-child{padding:12px 18px}#archive table tbody td:last-child>div,#contents table tbody td:last-child>div,#deletion-requests table tbody td:last-child>div,#environmentalData table tbody td:last-child>div,#equipment table tbody td:last-child>div,#equipmentTypes table tbody td:last-child>div,#pending-deletions table tbody td:last-child>div,#permissions table tbody td:last-child>div,#roomTypes table tbody td:last-child>div,#users table tbody td:last-child>div,#workLogTypes table tbody td:last-child>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}#projects table{border-radius:10px;overflow:hidden}#projects table thead th{background:var(--bg);border-bottom:2px solid var(--border);color:#e2e8f0;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 18px;text-transform:uppercase}#projects table tbody td{border-top:1px solid var(--border);color:#cbd5e1;font-size:14px;line-height:21px;padding:16px 18px;vertical-align:middle}#projects table tbody td:nth-child(2){font-size:16px;font-weight:700;line-height:21px;padding-bottom:16px;padding-top:16px;vertical-align:middle}#projects table tbody tr{background:var(--bg-2);transition:all .2s ease}#projects table tbody tr:hover{background:#3b82f60d;transform:translateX(2px)}#projects table tbody tr:nth-child(2n){background:var(--bg)}#projects table tbody tr:nth-child(2n):hover{background:#3b82f614}#projects table tbody td a{color:var(--brand);display:inline-block;font-size:16px;font-weight:700;line-height:21px;position:relative;text-decoration:underline;top:-3px;transition:all .2s ease;vertical-align:initial}#projects table tbody td a:hover{color:#2563eb;text-decoration:underline}#projects table tbody td:first-child{color:#9ca3af;font-weight:600}#projects table tbody td:nth-child(5){color:#cbd5e1;font-weight:500}#projects table tbody td:last-child{padding:12px 18px}#projects table tbody td:last-child>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}#projects table tbody .btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}#projects table tbody .btn-primary{background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#2563eb;color:#fff}#projects table tbody .btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);border-color:#1d4ed8;box-shadow:0 2px 8px #2563eb66;transform:translateY(-1px)}#projects table tbody .btn-success{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:#0891b2;color:#fff}#projects table tbody .btn-success:hover{background:linear-gradient(135deg,#0e7490,#155e75);border-color:#0e7490;box-shadow:0 2px 8px #0891b266;transform:translateY(-1px)}#projects table tbody .btn-secondary{background:#64748b;border-color:#64748b;color:#fff}#projects table tbody .btn-secondary:hover{background:#475569;border-color:#475569;box-shadow:0 2px 8px #64748b4d;transform:translateY(-1px)}#projects table tbody .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}#projects table tbody .btn-danger:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 2px 8px #ef444466;transform:translateY(-1px)}#roomTypes table{border-radius:10px;overflow:hidden}#roomTypes table thead th{background:var(--bg);border-bottom:2px solid var(--border);color:#e2e8f0;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 18px;text-transform:uppercase}#roomTypes table tbody td{border-top:1px solid var(--border);color:#cbd5e1;font-size:14px;line-height:21px;padding:16px 18px;vertical-align:middle}#roomTypes table tbody td:nth-child(2){font-size:16px;font-weight:700;line-height:21px;padding-bottom:16px;padding-top:16px;vertical-align:middle}#roomTypes table tbody tr{background:var(--bg-2);transition:all .2s ease}#roomTypes table tbody tr:hover{background:#3b82f60d;transform:translateX(2px)}#roomTypes table tbody tr:nth-child(2n){background:var(--bg)}#roomTypes table tbody tr:nth-child(2n):hover{background:#3b82f614}#roomTypes table tbody td:first-child{color:#9ca3af;font-weight:600}#roomTypes table tbody td:last-child{padding:12px 18px}#roomTypes table tbody td:last-child>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}#roomTypes table tbody .btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}#roomTypes table tbody .btn-secondary{background:#64748b;border-color:#64748b;color:#fff}#roomTypes table tbody .btn-secondary:hover{background:#475569;border-color:#475569;box-shadow:0 2px 8px #64748b4d;transform:translateY(-1px)}#roomTypes table tbody .btn-danger{background:#ef4444;border-color:#ef4444;color:#fff}#roomTypes table tbody .btn-danger:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 2px 8px #ef444466;transform:translateY(-1px)}.project-tabs{background:var(--bg-2);box-shadow:0 2px 4px #0000001a;margin:0 -18px;overflow:visible;padding:0 18px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.tabs-container{align-items:flex-start;display:flex;gap:0;overflow-x:auto;padding:10px;position:relative}.tab-btn{background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;box-shadow:0 2px 4px #2563eb33;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-right:4px;padding:8px 20px;position:relative;transition:background .2s ease,box-shadow .2s ease;white-space:nowrap}.tab-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 4px 8px #2563eb4d;color:#fff}.tab-btn.active{background:linear-gradient(135deg,#1e40af,#1e3a8a);border-bottom-color:#60a5fa;box-shadow:0 4px 12px #2563eb66,inset 0 1px 0 #ffffff1a;color:#fff;font-weight:600}.project-tab-content{display:block}.room-header{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.breadcrumb{color:#a7b0c6;font-size:14px}.breadcrumb span{color:var(--text-primary);font-weight:500}.room-actions{flex-wrap:wrap}.room-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.room-actions .btn{flex:1 1 140px;min-width:140px}.data-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;transition:all .2s ease}.data-section:hover{border-color:#4a5568}.section-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.section-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.daily-record{background:var(--bg-1);border:1px solid var(--border);border-radius:6px;margin-bottom:10px;padding:15px}.record-header{align-items:center;color:#a7b0c6;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:10px}.record-date{color:var(--text-primary);font-weight:500}.record-user{font-style:italic}.record-content{color:var(--text-primary)}.media-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:10px}.media-item{text-align:center}.media-item img{border:1px solid var(--border);border-radius:4px;height:80px;object-fit:cover;width:100%}.media-caption{color:#a7b0c6;display:block;font-size:.8rem;margin-top:5px}.equipment-item{border-bottom:1px solid var(--border);padding:8px 0}.equipment-item:last-child{border-bottom:none}.env-data{display:flex;flex-wrap:wrap;gap:20px}.env-data span{background:var(--bg-1);border:1px solid var(--border);border-radius:4px;font-size:.9rem;padding:5px 10px}.work-log{gap:8px}.work-entry{border-bottom:1px solid var(--border);display:flex;gap:15px;padding:8px 0}.work-entry:last-child{border-bottom:none}.work-entry .time{color:#4a5568;font-size:.9rem;font-weight:500;min-width:80px}.work-entry .activity{color:var(--text-primary);flex:1 1}.content-item{border-bottom:1px solid var(--border);padding:8px 0}.content-item:last-child{border-bottom:none}.room-list-header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.header-left{flex:0 0 auto}.header-center{align-items:center;display:flex;flex:1 1;justify-content:center}.header-right{flex:0 0 auto}.project-selector{align-items:center;display:flex;gap:10px}.project-selector label{color:#374151;font-size:14px;font-weight:500;white-space:nowrap}.project-selector select{border:1px solid var(--border);border-radius:6px;font-size:14px;min-width:180px}.project-selector select,.project-selector select option{background:var(--panel);color:#1f2937;font-weight:500;padding:8px 12px}.project-selector select option:focus,.project-selector select option:hover{background:var(--panel-2);color:#111827}.project-selector select:focus{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb33;outline:none}.rooms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:20px}.room-card{background:var(--bg-2)!important;border:4px solid var(--border-room)!important;border-radius:12px!important;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:100%;padding:24px!important;transition:all .3s ease}.room-card:hover{border-color:var(--brand)!important;border-color:#4a5568;box-shadow:0 8px 16px #0003;box-shadow:0 4px 8px #00000026;transform:translateY(-4px);transform:translateY(-2px)}.room-info h4{color:var(--text-primary);font-size:1.1rem;margin:0 0 8px}.room-info p{color:#a7b0c6;font-size:.9rem;margin:0 0 15px}.room-stats{color:#a7b0c6;display:flex;font-size:12px;gap:15px;margin-bottom:15px}.room-stats .stat{background:none;border:none;box-shadow:none;font-size:12px;min-height:auto;padding:0}.room-stats .stat:hover{box-shadow:none;transform:none}.room-card .room-info{flex:1 1;margin-bottom:16px}.room-card .room-info h4{color:#e2e8f0!important;font-size:1.2rem;font-weight:600;line-height:1.4;margin:0 0 10px}.room-card .room-info p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#cbd5e1!important;display:-webkit-box;font-size:.95rem;line-height:1.5;margin:0 0 16px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.room-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.room-stats .stat{word-wrap:break-word;background:#3b82f61a!important;border:1px solid #3b82f633!important;border-radius:6px;color:#93c5fd!important;font-size:11px;line-height:1.3;overflow-wrap:break-word;padding:6px 8px;text-align:center;white-space:normal}.room-actions{border-top:1px solid var(--border);display:flex;gap:10px;margin-top:auto;padding-top:16px}.room-actions .btn{flex:1 1;font-size:14px;min-width:0;padding:10px 16px;white-space:nowrap}.room-actions .btn-primary{background:var(--brand)!important;border:none!important;color:#fff!important}.room-actions .btn-primary:hover{background:#2563eb!important;transform:translateY(-1px)}.room-actions .btn:not(.btn-primary){background:var(--bg)!important;border:1px solid var(--border)!important;color:var(--text)!important}.room-actions .btn:not(.btn-primary):hover{background:var(--bg-2)!important;border-color:var(--brand)!important}.room-actions .btn-danger{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.room-actions .btn-danger:hover{background:#dc2626!important;border-color:#dc2626!important;transform:translateY(-1px)}.mobile-menu-toggle{background:var(--brand);border:none;border-radius:8px;box-shadow:0 2px 8px #0003;cursor:pointer;display:none;margin:0;padding:8px 10px;position:relative}.hamburger{background:#fff;border-radius:2px;display:block;height:3px;margin:4px 0;transition:.3s;width:25px}@media (max-width:768px){.mobile-menu-toggle{display:block}.app{padding-left:0}.sidebar{height:100vh;overflow-y:auto;position:fixed;right:0;top:0;transition:transform .3s ease;width:280px;z-index:1000}.app.mobile-menu-open:before{background:#00000080;content:"";height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}.main-content{margin-left:0;padding:20px 15px}h1,h2,h3{font-size:1.5rem;margin-bottom:15px}h4{font-size:1.2rem}.panel{margin-bottom:15px;padding:15px}.btn{font-size:16px;min-height:44px;min-width:44px;padding:12px 16px;touch-action:manipulation}.btn-sm{font-size:14px;min-height:40px;padding:10px 14px}.form-group{margin-bottom:20px}.form-group label{font-size:16px;margin-bottom:8px}.room-list-header{align-items:stretch}.header-center,.header-left,.header-right{flex:none}.header-center{justify-content:flex-start}.project-selector{align-items:flex-start;flex-direction:column;gap:8px}.project-selector select{min-width:auto;width:100%}.header-right .btn{width:100%}.form-group input,.form-group select,.form-group textarea{border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.form-group textarea{min-height:100px;resize:vertical}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:600px}.stats{gap:15px!important;grid-template-columns:1fr!important}.stat{min-height:100px;padding:20px 15px}.stat-value{font-size:24px}.stat-label{font-size:12px}.rooms-grid{gap:15px;grid-template-columns:1fr}.room-card{padding:15px}.room-actions{flex-direction:column;gap:10px}.room-actions .btn{text-align:center;width:100%}.room-header{align-items:flex-start;flex-direction:column;gap:15px}.room-actions{width:100%}.room-sections{gap:15px;grid-template-columns:1fr}.data-section{padding:15px}.section-header{align-items:flex-start;flex-direction:column;gap:10px}.section-header h3{font-size:1.1rem;margin:0}.modal-content{margin:20px auto;max-height:90vh;max-width:500px;overflow-y:auto;width:95%}.modal-header{padding:15px}.modal-body{padding:0}.modal-footer{flex-direction:column;gap:10px;padding:15px}.modal-footer .btn{width:100%}input[type=file]{background:var(--bg-1);border:2px dashed var(--border);border-radius:8px;cursor:pointer;font-size:16px;padding:10px;width:100%}.file-help{color:#a7b0c6;display:block;font-size:12px;font-style:italic;margin-top:5px}#mobile-progress{align-items:center;background:#000c;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.mobile-progress-content{background:var(--panel);border-radius:12px;box-shadow:0 4px 20px #0000004d;padding:30px;text-align:center}.mobile-progress-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border);border:4px solid var(--border);border-radius:50%;border-top-color:var(--brand);height:40px;margin:0 auto 15px;width:40px}.mobile-progress-text{color:var(--text-primary);font-size:16px;font-weight:500}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.menu li{margin-bottom:5px}.menu a{align-items:center;display:flex;float:left;font-size:15px;gap:12px;padding:15px 20px}.menu .ico{font-size:18px;text-align:center;width:24px}.submenu{padding-left:20px}.submenu a{font-size:15px;padding:12px 20px}.actions{flex-direction:column;gap:10px}.actions .btn{width:100%}.daily-record{margin-bottom:10px;padding:12px}.record-header{align-items:flex-start;flex-direction:column;gap:5px}.media-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.media-item img{height:60px}.env-data{flex-direction:column;gap:10px}.env-data span{font-size:14px;padding:8px 12px}.work-entry{flex-direction:column;gap:5px}.work-entry .time{font-weight:600;min-width:auto}.breadcrumb{font-size:14px;line-height:1.4}.daily-records{max-height:250px}.room-list-header{align-items:flex-start;flex-direction:column;gap:15px}.room-stats{flex-wrap:wrap;gap:10px}.room-stats .stat{background:none;border:none;box-shadow:none;color:#a7b0c6;font-size:12px;min-height:auto;padding:0}}@media (min-width:769px) and (max-width:1024px){.room-sections{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.rooms-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}.room-list-header{gap:15px}.project-selector select{min-width:150px}}@media (max-width:480px){.main-content{padding:15px 10px}.panel{padding:12px}.modal-content{margin:10px auto;width:98%}.data-section,.room-header{padding:12px}.btn{font-size:14px;padding:10px 14px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px}}.report-controls{background:var(--panel);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:20px;margin-bottom:30px;padding:20px}.report-filters,.report-periods{display:flex;flex-wrap:wrap;gap:10px}.report-filters{align-items:center}.report-filters label{color:var(--text);font-weight:500}.report-filters input[type=date]{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 12px}.report-content{margin-top:20px}.report-placeholder{color:var(--text-muted);padding:40px;text-align:center}.report-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.report-actions{display:flex;gap:10px}.daily-report{grid-gap:20px;display:grid;gap:20px}.day-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}.day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.day-header h5{color:var(--text);font-size:18px;margin:0}.day-stats{background:var(--brand);border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:4px 12px}.day-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.summary-item{align-items:center;background:var(--bg);border-radius:6px;display:flex;justify-content:space-between;padding:10px}.summary-item .label{color:var(--text-muted);font-weight:500}.summary-item .value{color:var(--text);font-weight:600}.day-rollup h6{color:var(--text);font-size:16px;margin:0 0 10px}.equipment-usage{display:flex;flex-direction:column;gap:8px}.equipment-item{align-items:center;background:var(--bg);border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.equipment-name{color:var(--text);font-weight:500}.equipment-hours{color:var(--brand);font-weight:600}.weekly-report{grid-gap:20px;display:grid;gap:20px}.week-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}.week-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.week-header h5{color:var(--text);font-size:18px;margin:0}.week-stats{background:var(--brand);border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:4px 12px}.week-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.monthly-report{grid-gap:20px;display:grid;gap:20px}.month-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}.month-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.month-header h5{color:var(--text);font-size:18px;margin:0}.month-stats{background:var(--brand);border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:4px 12px}.month-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.yearly-report{grid-gap:20px;display:grid;gap:20px}.year-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}.year-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.year-header h5{color:var(--text);font-size:18px;margin:0}.year-stats{background:var(--brand);border-radius:20px;color:#fff;font-size:14px;font-weight:500;padding:4px 12px}.year-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media (max-width:768px){.report-controls{padding:15px}.report-filters,.report-periods{flex-direction:column}.report-filters{align-items:stretch}.report-filters input[type=date]{width:100%}.day-summary,.month-summary,.week-summary,.year-summary{grid-template-columns:1fr}.day-header,.month-header,.week-header,.year-header{align-items:flex-start;flex-direction:column;gap:10px}}.pd-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.pd-popup{background:#111827;background:var(--bg-2,#111827);border:1px solid #374151;border:1px solid var(--border,#374151);border-radius:12px;box-shadow:0 20px 25px -5px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.pd-popup-header{align-items:center;border-bottom:1px solid #374151;border-bottom:1px solid var(--border,#374151);display:flex;justify-content:space-between;padding:16px 20px}.pd-popup-header h3{font-size:18px;font-weight:600;margin:0}.pd-popup-close,.pd-popup-header h3{color:#e5e7eb;color:var(--text,#e5e7eb)}.pd-popup-close{background:none;border:none;cursor:pointer;font-size:24px;line-height:1;opacity:.7;padding:0 4px;transition:opacity .2s}.pd-popup-close:hover{opacity:1}.pd-popup-body{max-height:calc(80vh - 70px);overflow-y:auto;padding:16px 20px}.pd-table{border-collapse:collapse;font-size:14px;width:100%}.pd-table th{background:#0003;border-bottom:2px solid #374151;border-bottom:2px solid var(--border,#374151);font-weight:600;text-align:left}.pd-table td,.pd-table th{color:#e5e7eb;color:var(--text,#e5e7eb);padding:12px 16px}.pd-table td{border-bottom:1px solid #374151;border-bottom:1px solid var(--border,#374151)}.pd-table tbody tr:hover{background:#ffffff0d}.pd-table tfoot td{background:#0003;font-weight:700}@media (max-width:768px){.pd-popup{max-height:90vh;width:95%}.pd-table td,.pd-table th{font-size:13px;padding:10px 12px}}.modal input:not([type=checkbox]),.modal select,.modal textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;outline:0;padding:10px 12px;transition:all .2s ease;width:100%}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb26}.modal label{color:#374151;display:block;font-size:15px;font-weight:500;margin-bottom:8px}.modal input[type=checkbox]{margin-right:6px;width:auto}.checkbox-label{display:flex;font-size:15px;font-weight:400;margin-bottom:0}.form-group{margin-bottom:16px}.form-group label{color:#374151;display:block;font-size:15px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;outline:0;padding:10px 12px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb26}.invalid-feedback{color:#dc2626;font-size:14px;margin-top:4px}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc262626}input[type=date]{position:relative}input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-text{padding:0 2px}input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-year-field{padding:0 2px}@-moz-document url-prefix(){input[type=date]{text-align:left}}input[type=date]:not(:valid)::-webkit-datetime-edit{color:#9ca3af}input[type=date]:focus::-webkit-datetime-edit{color:#111827}@media (max-width:768px){.sidebar.collapsed{transform:translateX(-100%)!important}.topbar .btn[aria-label="Toggle sidebar"]{display:inline-flex!important}.app{grid-template-columns:1fr!important;grid-template-rows:auto 1fr auto!important;justify-items:start}.topbar{flex-direction:column!important;gap:10px!important;grid-column:1!important;padding:10px 15px!important;position:relative!important}.topbar h1{font-size:25px!important;line-height:1.8!important}.topbar .header-left{flex-direction:column!important}.mobile-menu-toggle{left:12px!important;position:absolute!important;top:12px!important;z-index:1001!important}#timerControls,.topbar-actions{flex-wrap:wrap!important;justify-content:space-between!important;width:100%!important}#timerControls{flex-direction:column-reverse;gap:8px!important}#workLogTimerDisplay{justify-content:center!important;width:100%!important}#workTimerToggleBtn,.topbar .btn.btn-secondary.btn-sm{width:100%!important}.room-project-back{margin:0 0 0 15%!important;width:85%!important}.sidebar{background:#0f172a;border-right:1px solid #ffffff14!important;box-shadow:0 10px 20px #0000004d!important;color:#e5e7eb;grid-row:unset!important;height:100vh!important;left:0;padding:16px!important;position:fixed!important;top:0;transform:translateX(0);transition:transform .25s ease;width:260px!important;z-index:1000}.sidebar .brand span{color:#e5e7eb!important}.sidebar .dot{background:#2563eb!important;color:#fff;display:grid!important}.sidebar .menu button{color:#e5e7eb!important}.sidebar .menu button.active{background:#ffffff14!important}.sidebar .submenu-toggle{color:#e5e7eb!important}.sidebar .submenu li button{color:#cbd5e1!important}.sidebar .submenu li button.active{color:#fff!important}.sidebar.collapsed{transform:translateX(-100%)}.sidebar-backdrop{background:#0000008c;inset:0;position:fixed;z-index:900}.sidebar ul{display:flex;flex-direction:column;float:left;justify-content:start;margin:0!important;padding:0!important;width:100%}.sidebar li{margin:0 0 6px!important;width:100%!important}.sidebar button{border-radius:6px!important;font-size:13px!important;padding:10px 12px!important;width:100%!important}.sidebar .submenu{padding-left:16px!important}.content{box-sizing:border-box!important;grid-column:1!important;grid-row:2!important;overflow-x:hidden!important;padding:0 15px!important;width:100%!important}.content,.panel{margin:0!important}.panel{border-radius:8px!important;padding:15px!important}.panel table{font-size:12px!important}.panel td,.panel th{padding:8px 4px!important}#users .panel{overflow-x:hidden!important}#users .table-responsive{-webkit-overflow-scrolling:touch!important;display:block!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important}#users .table-responsive>table{min-width:640px!important;width:-webkit-max-content!important;width:max-content!important}#permissions .panel{overflow-x:hidden!important}#permissions .table-responsive{-webkit-overflow-scrolling:touch!important;display:block!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important}#permissions .table-responsive>table{min-width:640px!important;width:-webkit-max-content!important;width:max-content!important}.panel table{min-width:640px!important}.panel td:nth-child(n+4),.panel th:nth-child(n+4){display:none!important}.panel td:first-child,.panel td:last-child,.panel td:nth-child(2),.panel th:first-child,.panel th:last-child,.panel th:nth-child(2){display:table-cell!important}.panel .btn{font-size:16px!important;font-weight:700!important;margin:2px!important;padding:4px 8px!important}.rooms-grid{gap:15px!important}.quick-action-buttons,.rooms-grid{grid-template-columns:1fr!important}.room-card{padding:15px!important}.room-card .btn,.room-card h4{font-size:16px!important}.room-card .btn{font-weight:700!important;margin:2px!important;padding:6px 10px!important}.modal-content{margin:0!important;max-height:90vh!important;max-width:none!important;width:98%!important}.modal-body{max-height:70vh!important;overflow-y:auto!important}.grid{gap:15px!important;grid-template-columns:1fr!important}.field.col-3{grid-column:1!important}.modal input,.modal select,.modal textarea{font-size:16px!important}.two-column-layout{gap:15px!important;grid-template-columns:1fr!important;height:auto!important;overflow:visible!important}.room-detail-header{gap:15px!important}.room-detail-header,.room-detail-header>div{align-items:stretch!important;flex-direction:column!important}.room-detail-header>div{gap:10px!important}.room-detail-header .btn{justify-content:center!important;margin:0!important;width:100%!important}.room-detail-header .btn,.tab-btn,.work-log-timer-display{font-size:16px!important;font-weight:700!important}.work-log-timer-display{justify-content:center!important;margin-bottom:10px!important;width:100%!important}.section-item{margin-bottom:8px!important;padding:12px!important}.section-item h3{font-size:14px!important}.section-item .btn{font-size:16px!important;font-weight:700!important;padding:6px 10px!important}.timer-display{font-size:18px!important;padding:10px!important}.timer-controls .btn{font-size:16px!important;font-weight:700!important;margin:2px!important;padding:8px 12px!important}.record-item{margin-bottom:10px!important;padding:12px!important}.record-actions .btn{font-size:16px!important;font-weight:700!important;padding:4px 8px!important}.project-selector{flex-direction:column!important;gap:8px!important}.project-selector label{font-size:12px!important}.project-selector select{font-size:14px!important}.room-list-header{align-items:stretch!important;flex-direction:column!important;gap:15px!important}.footer,.header-center,.header-left,.header-right{text-align:center!important;width:100%!important}.footer{background:var(--bg-2)!important;border-top:1px solid #1f2937!important;color:var(--text)!important;display:block!important;font-size:12px!important;grid-column:1!important;grid-row:3!important;padding:10px 15px!important}}@media (min-width:769px) and (max-width:1024px){.app{grid-template-columns:250px 1fr!important}.rooms-grid{grid-template-columns:repeat(2,1fr)!important}.modal-content{width:80%!important}.grid{grid-template-columns:repeat(2,1fr)!important}}@media (min-width:1025px){.sidebar-backdrop{display:none!important}.two-column-layout{gap:20px!important;grid-template-columns:400px 1fr!important;height:calc(100vh - 160px)!important;overflow-y:auto!important;scrollbar-color:#ffffffb3 #0003;scrollbar-width:thin}.topbar .btn[aria-label="Toggle sidebar"]{display:none!important}.sidebar{background:var(--bg)!important;border-right:1px solid #ffffff1a!important;box-shadow:none!important;grid-row:1/span 2!important;position:relative!important;transform:none!important;width:240px!important;z-index:auto!important}.sidebar,.sidebar .brand span,.sidebar .menu button{color:var(--text)!important}.sidebar .menu button.active{background:#ffffff1a!important}.sidebar .submenu li button,.sidebar .submenu li button.active,.sidebar .submenu-toggle{color:var(--text)!important}.sidebar.collapsed{width:60px!important}.sidebar.collapsed .brand span,.sidebar.collapsed .menu button span:not(.ico),.sidebar.collapsed .submenu{display:none!important}}@media (hover:none) and (pointer:coarse){.btn{font-size:16px!important;font-weight:700!important;min-width:44px!important}.btn,.modal input,.modal select,.modal textarea,.sidebar button{min-height:44px!important}}@media (max-width:768px) and (orientation:landscape){.modal-content{max-height:95vh!important}.modal-body{max-height:60vh!important}.sidebar{padding:5px!important}.sidebar ul{gap:4px!important}}.filters-panel-container{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{color:#e2e8f0;font-weight:500;white-space:nowrap}.filter-item label,.filter-select{font-size:14px;font-size:var(--font-size-sm,14px)}.filter-select{background:#1f2937;background:var(--bg-2,#1f2937);border:1px solid #374151;border:1px solid var(--border,#374151);border-radius:6px;color:#f3f4f6;color:var(--text,#f3f4f6);cursor:pointer;height:46px;min-width:180px;padding:6px 10px;width:100%}.clear-btn{margin:0}@media (max-width:768px){.filters-panel-container{grid-gap:12px;align-items:stretch;display:grid;gap:12px;grid-template-columns:1fr}.filter-item{align-items:flex-start;flex-direction:column;width:100%}.filter-item label{margin-bottom:4px}.filter-item .btn,.filter-item>div,.filter-select{width:100%!important}}.user-cards-grid{display:flex;flex-direction:column;gap:20px}.user-card{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;display:flex;gap:20px;padding:20px}.user-info{flex:0 0 150px}.user-activities{border-left:1px solid var(--border);border-right:1px solid var(--border);display:flex;flex:2 1;flex-direction:column;padding:0 20px}.user-summary{flex:1 1;padding-left:20px}@media (max-width:768px){.user-card{flex-direction:column;gap:16px}.user-info{border-bottom:1px solid var(--border);flex:auto;margin-bottom:0;padding-bottom:16px;width:100%}.user-activities{border:none;border-bottom:1px solid var(--border);padding:0 0 16px}.user-summary{padding-left:0}}.text-ellipsis{background:#10b98133;border:1px solid #10b9814d;border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;letter-spacing:normal;padding:6px;text-transform:none}.list-toolbar-container,.list-toolbar-container-project{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.list-toolbar-search{align-items:center;display:flex;gap:8px}.list-toolbar-search input{background:#1f2937;background:var(--bg-2,#1f2937);border:1px solid #374151;border:1px solid var(--border,#374151);border-radius:6px;color:#f3f4f6;color:var(--text,#f3f4f6);font-size:14px;font-size:var(--font-size-sm,14px);height:32px;max-width:400px;min-width:250px;padding:6px 10px}@media (max-width:768px){.list-toolbar-container{align-items:stretch;flex-direction:column;gap:12px}.list-toolbar-search{align-items:stretch;flex-direction:column;width:100%}.list-toolbar-search input{max-width:none!important;min-width:100%!important;width:100%!important}.list-toolbar-container button{width:100%}}.activity-row{align-items:flex-start;background:#0003;border-radius:6px;display:flex;gap:8px;padding:8px}.activity-details-container{border:1px solid #475569;border-radius:4px;font-size:12px;margin-top:6px;overflow:hidden;width:100%}.activity-detail-row{border-bottom:1px solid #475569;display:flex}.activity-detail-row:last-child{border-bottom:none}.activity-detail-row.even{background:#1e293b66}.activity-detail-row.odd{background:#0f172a66}.activity-detail-key{border-right:1px solid #475569;color:#94a3b8;flex:0 0 33%;font-weight:600;text-transform:capitalize;width:35%}.activity-detail-key,.activity-detail-value{word-wrap:break-word;overflow-wrap:break-word;padding:6px 10px}.activity-detail-value{color:#f1f5f9;flex:1 1;min-width:0;width:65%}@media (max-width:768px){.activity-detail-row{flex-direction:column}.activity-detail-key{border-bottom:1px solid #47556980;border-right:none;color:#cbd5e1;flex:auto;padding-bottom:4px;width:100%}.activity-detail-value{padding-left:10px;padding-top:4px;width:100%}}.recent-activities-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding-right:8px}.recent-activities-list::-webkit-scrollbar{width:6px}.recent-activities-list::-webkit-scrollbar-track{background:#0000}.recent-activities-list::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:20px}.recent-activities-list::-webkit-scrollbar-thumb:hover{background-color:#9ca3afcc}.reports-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.report-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;padding:16px}@media (max-width:1024px){.reports-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.reports-grid{grid-template-columns:1fr}}:root{--bg:#0f172a;--bg-2:#111827;--text:#e5e7eb;--muted:#9ca3af;--brand:#2563eb;--brand-2:#1d4ed8;--ok:#10b981;--warn:#f59e0b;--danger:#ef4444;--panel:#fff;--panel-2:#f3f4f6;--border:#e5e7eb;--border-room:#1d4ed8;--shadow:0 6px 20px #02061726;--radius:10px;--font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";--font-size-base:15px;--font-size-sm:14px;--font-size-xs:12px;--line-height-base:1.5}.menu button{align-items:center;background:none;border:none;border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:12px;padding:12px 14px;text-align:left;transition:all .2s;width:100%}.menu button .ico{display:inline-block;flex-shrink:0;font-size:18px;min-width:20px;opacity:.85;text-align:center;width:20px}.menu button:hover{background:var(--hover-bg);color:var(--text)}.menu button.active{background:var(--brand);color:#fff;font-weight:600}.menu button.active .ico{opacity:1}.brand{align-items:center;border-bottom:1px dashed #1f2937;display:flex;font-size:16px;font-weight:700;gap:12px;letter-spacing:.3px;margin-bottom:12px;padding:6px 8px 18px}.brand .dot{background:var(--brand);border-radius:8px;color:#fff;display:grid;display:none;font-size:16px;font-weight:800;height:36px;place-items:center;width:100%}@media (max-width:768px){.brand .dot{display:grid!important}}.menu{list-style:none;margin:0;padding:10px 0 0}.menu li{margin:3px 0}.menu a{align-items:center;border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 14px;text-decoration:none}.menu a .ico{display:inline-block;font-size:18px;opacity:.85;text-align:center;width:20px}.menu a.active{background:#2563eb2e;border:1px solid #2563eb59;color:#fff}.menu a:hover{background:#0b1224}.submenu{display:none;list-style:none;margin:0;padding:0 0 0 20px;transition:all .3s ease}.menu li.has-submenu.active .submenu{display:block!important}.menu li.has-submenu.active>a{background:#2563eb2e;border:1px solid #2563eb59;color:#fff}.menu li.has-submenu.active{background:#2563eb1a}.submenu li{margin:2px 0}.submenu a{cursor:pointer;font-size:14px;padding:10px 12px}.submenu a .ico{font-size:16px;width:18px}.submenu a.active{background:#2563eb40;border:1px solid #2563eb66;color:#fff}.submenu a:hover{background:#0b1224}.login-screen{align-items:center;background:linear-gradient(135deg,#0b1020,#111827 35%,#0f172a);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{background:#0b1224;border:1px solid #1f2937;border-radius:14px;box-shadow:var(--shadow);color:#eef2ff;padding:28px;width:min(420px,92vw)}.login-title{font-size:28px;font-weight:700;letter-spacing:.3px;margin:4px 0 18px;text-align:center}.login-title .accent{color:var(--brand)}.field{margin-bottom:16px}.field label{display:block;font-size:14px;margin-bottom:6px}.field input{background:#0f1a34;border:1px solid #1f2a44;border-radius:10px;color:#e5e7eb;outline:0;padding:12px 14px;transition:border-color .2s ease;width:100%}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb33}.help{color:#9aa6c7;font-size:14px;margin-top:12px;text-align:center}table tbody td button{margin-right:6px}table tbody td button:last-child{margin-right:0}table{border:1px solid var(--border);border-collapse:initial;border-radius:12px;border-spacing:0;overflow:hidden;width:100%}thead th{border-bottom:2px solid var(--border);font-size:15px!important;font-weight:700!important;text-align:left;text-decoration:underline}tbody td,thead th{color:#fff;padding:12px 14px}tbody td{border-top:1px solid var(--border);font-size:15px}#activityLogs table thead th,#archive table thead th,#contents table thead th,#deletion-requests table thead th,#environmentalData table thead th,#equipment table thead th,#equipmentTypes table thead th,#pending-deletions table thead th,#permissions table thead th,#roomTypes table thead th,#users table thead th,#workLogTypes table thead th{background:var(--bg)!important;border-bottom:2px solid var(--border);color:#e2e8f0!important;font-size:15px!important;letter-spacing:.5px;padding:16px 18px!important;text-decoration:underline;text-transform:uppercase}#activityLogs table tbody tr,#archive table tbody tr,#contents table tbody tr,#deletion-requests table tbody tr,#environmentalData table tbody tr,#equipment table tbody tr,#equipmentTypes table tbody tr,#pending-deletions table tbody tr,#permissions table tbody tr,#roomTypes table tbody tr,#users table tbody tr,#workLogTypes table tbody tr{background:var(--bg-2)!important}#activityLogs table tbody tr:nth-child(2n),#archive table tbody tr:nth-child(2n),#contents table tbody tr:nth-child(2n),#deletion-requests table tbody tr:nth-child(2n),#environmentalData table tbody tr:nth-child(2n),#equipment table tbody tr:nth-child(2n),#equipmentTypes table tbody tr:nth-child(2n),#pending-deletions table tbody tr:nth-child(2n),#permissions table tbody tr:nth-child(2n),#roomTypes table tbody tr:nth-child(2n),#users table tbody tr:nth-child(2n),#workLogTypes table tbody tr:nth-child(2n){background:var(--bg)!important}#activityLogs table tbody td,#archive table tbody td,#contents table tbody td,#deletion-requests table tbody td,#environmentalData table tbody td,#equipment table tbody td,#equipmentTypes table tbody td,#pending-deletions table tbody td,#permissions table tbody td,#roomTypes table tbody td,#users table tbody td,#workLogTypes table tbody td{word-wrap:break-word;color:#cbd5e1!important;font-size:14px!important;max-width:300px;padding:16px 18px!important}#contents table td,#contents table th,#workLogTypes table td,#workLogTypes table th{overflow-wrap:anywhere;word-break:break-word}#environmentalData table td,#environmentalData table th{overflow-wrap:normal;word-break:normal}#contents table,#environmentalData table,#workLogTypes table{min-width:100%;table-layout:fixed;width:100%}#environmentalData .table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}#environmentalData table td:first-child,#environmentalData table th:first-child{min-width:150px;width:15%;word-break:break-word}#environmentalData table td:nth-child(2),#environmentalData table th:nth-child(2){max-width:120px;min-width:80px;white-space:normal;width:25%;word-break:break-word}#environmentalData table td:nth-child(3),#environmentalData table th:nth-child(3){max-width:120px;min-width:80px;white-space:normal;width:10%}#environmentalData table td:nth-child(4),#environmentalData table th:nth-child(4){min-width:200px;overflow-wrap:anywhere;white-space:normal;width:10%;word-break:break-word}#environmentalData table td:nth-child(5),#environmentalData table th:nth-child(5){word-wrap:break-word;max-width:100px;min-width:80px;white-space:normal;width:15%}#environmentalData table td:nth-child(6),#environmentalData table th:nth-child(6){min-width:180px;padding:12px 8px;white-space:nowrap;width:20%}.permissions-table-container{border:1px solid var(--border);border-radius:8px;max-height:60vh;overflow-y:auto}.permissions-table{border-collapse:collapse;width:100%}.permissions-table thead{background:var(--panel-2);position:-webkit-sticky;position:sticky;top:0;z-index:10}.permissions-table th{border-bottom:2px solid var(--border);color:#000;font-size:15px;font-weight:600;padding:12px 14px;text-align:left;text-decoration:underline}.permissions-table td{border-bottom:1px solid var(--border);color:#000;padding:12px 14px}.permissions-table tbody tr:hover{background:#f5f5f5}.permission-header{align-items:center;display:flex;justify-content:center}.checkbox-label{align-items:center;cursor:pointer;display:inline-flex;position:relative}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.role-badge{background:#e5e7eb;border-radius:4px;color:#374151;display:inline-block;font-size:.85rem;font-weight:500;padding:4px 8px}.panel-header{margin-bottom:1.5rem}.panel-header h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.panel-description{color:#666;font-size:.9rem;margin:0}.btn-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.btn-link:hover{color:#2563eb}.modal{align-items:center;background:#0f172a8c;display:none;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal.open{display:flex}.modal-card,.modal-content{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:90vh;padding:10px 0 10px 10px;width:min(900px,96vw)}.modal-head,.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;margin-bottom:18px;padding-bottom:12px}.modal-head h3,.modal-header h2{color:#000;font-size:20px;font-weight:600;letter-spacing:.2px;margin:0}.modal-body{flex:1 1;margin-bottom:18px;max-height:calc(90vh - 120px);overflow-y:auto;padding-right:4px}.modal-footer{border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;margin-top:auto;padding-top:12px}.close{color:#999;cursor:pointer;font-size:24px;font-weight:700;padding-right:10px}.close:hover{color:#333}.modal-body .grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.modal-body .grid .col-2{grid-column:1/span 2}.modal-body .grid .col-3{grid-column:1/span 3}.modal input[type=checkbox]{cursor:pointer;height:20px;margin-right:5px;position:relative;top:6px;width:20px}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.modal-head,.modal-header{flex-shrink:0}.modal-overlay{background:#0f172a8c;inset:0;padding:16px;position:fixed;z-index:1000}.modal-close,.modal-overlay{align-items:center;display:flex;justify-content:center}.modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:28px;font-weight:700;height:32px;line-height:1;padding:0;width:32px}.modal-close:hover{color:#333}.pac-container{z-index:2000!important}.work-log-timer-display{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;font-family:Courier New,monospace;font-size:14px;font-weight:700;gap:10px;margin-right:20px;padding:8px 12px;transition:all .3s ease}.work-log-timer-display:hover{background:#e9ecef;border-color:#adb5bd}.work-log-timer-display.running{animation:pulse 2s infinite;background:#d4edda;border-color:#28a745;color:#155724}.timer-controls{align-items:center;display:flex;gap:8px}.form-help{color:#6c757d;display:block;font-size:12px;line-height:1.4;margin-top:4px}.daily-records{max-height:100%;overflow-y:auto;padding-right:8px}.daily-records::-webkit-scrollbar{width:6px}.daily-records::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.daily-records::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.daily-records::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.record-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:16px;padding:16px}.record-item .record-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;margin:-16px -16px 12px;padding:12px 16px}.record-item .record-details{color:#555;font-size:13px}.record-actions{display:flex;gap:8px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width:768px){.work-log-timer-display{font-size:12px;margin-right:10px;padding:6px 10px}}@media (min-width:768px) and (max-width:1024px){.topbar{flex-direction:column!important;justify-content:space-between!important;padding:12px 18px!important}.topbar,.topbar .header-left{align-items:center!important;flex-wrap:nowrap!important;gap:12px!important}.topbar .header-left{flex-direction:row!important;width:100%}.mobile-menu-toggle{position:static!important}.topbar{justify-content:flex-start!important}.topbar h1{flex:1 1 auto;font-size:22px!important;line-height:1.4!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#timerControls{flex-wrap:wrap!important;width:auto!important}#workLogTimerDisplay{flex:0 1 auto;max-width:220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-project-back{min-width:200px!important;width:auto!important}.menu a{float:left}.brand .dot{display:grid}.content{margin-top:0;overflow-x:hidden!important;padding-top:0}.app{grid-template-columns:auto 1fr!important}.user-cards-grid{overflow-x:scroll}.project-tabs .tabs-container{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto;white-space:nowrap}.project-tabs .tab-btn{background:#0000!important;border-bottom:2px solid #0000!important;border-radius:0!important;color:#94a3b8!important;flex:0 0 auto;font-size:15px;font-weight:600;padding:10px 18px}.project-tabs .tab-btn.active{background:#3b82f6!important;border-bottom-color:#60a5fa!important;color:#fff!important}.filters-panel-container,.list-toolbar-container,.list-toolbar-container-project{gap:12px}.filter-select{font-size:15px;height:38px;min-width:200px}.two-column-layout{gap:16px!important;grid-template-columns:320px 1fr!important;height:auto!important;overflow:visible!important}.section-item{margin-bottom:10px;padding:12px}.section-item h3{font-size:15px}.section-item .btn{font-size:15px;padding:8px 12px}}@media (min-width:1024px) and (max-width:1366px) and (orientation:portrait){.project-tabs .tabs-container{grid-template-columns:250px 1fr!important}.two-column-layout{gap:16px!important;grid-template-columns:300px 1fr!important;height:auto!important;overflow:visible!important}.project-tabs .tabs-container{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto;white-space:nowrap}.project-tabs .tab-btn{background:#0000!important;border-bottom:2px solid #0000!important;border-radius:0!important;color:#94a3b8!important;font-size:15px;font-weight:600;padding:10px 18px}.project-tabs .tab-btn.active{background:#3b82f6!important;border-bottom-color:#60a5fa!important;color:#fff!important}.modal-content{max-height:85vh!important;width:85%!important}.filters-panel-container{gap:12px}.filter-select{font-size:15px;height:38px;min-width:200px}}@media only screen and (max-width:480px){.modal input[type=checkbox]{top:15px}}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.topbar{align-items:center!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:12px!important;justify-content:space-between!important;padding:12px 18px!important}.modal input[type=checkbox]{top:15px}#workLogTimerDisplay{max-width:240px}.two-column-layout{grid-template-columns:360px 1fr!important;padding:12px 18px!important}.topbar .header-left{align-items:center!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:12px!important;justify-content:flex-start;width:100%}.mobile-menu-toggle{position:static!important}.topbar h1{flex:1 1 auto;font-size:22px!important;line-height:1.4!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#timerControls{flex-wrap:wrap!important;width:auto!important}#workLogTimerDisplay{flex:0 1 auto;max-width:260px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{grid-template-columns:250px 1fr!important}.two-column-layout{gap:10px!important;grid-template-columns:260px 1fr!important;height:calc(100vh - 160px)!important;overflow-y:auto!important;padding:5px 10px!important}.project-tabs .tabs-container{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto;white-space:nowrap}.project-tabs .tab-btn{background:#0000!important;border-bottom:2px solid #0000!important;border-radius:0!important;color:#94a3b8!important;font-size:15px;font-weight:600;padding:10px 18px}.project-tabs .tab-btn.active{background:#3b82f6!important;border-bottom-color:#60a5fa!important;color:#fff!important}.modal-content{max-height:80vh!important;width:70%!important}.filters-panel-container{gap:16px}.filter-select{font-size:15px;height:38px;min-width:220px}}@media (min-width:1024px) and (max-width:1366px) and (orientation:landscape){.two-column-layout{gap:20px!important;grid-template-columns:380px 1fr!important;height:calc(100vh - 160px)!important;overflow-y:auto!important}.project-tabs .tabs-container{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto;padding:15px 0;white-space:nowrap}.project-tabs .tab-btn{background:#0000!important;border-bottom:2px solid #0000!important;border-radius:0!important;color:#94a3b8!important;font-size:15px;font-weight:600;padding:10px 18px}.project-tabs .tab-btn.active{background:#3b82f6!important;border-bottom-color:#60a5fa!important;color:#fff!important}.modal-content{max-height:82vh!important;width:72%!important}.filter-select{font-size:15px;height:38px;min-width:220px}}@media (min-width:1024px) and (max-width:1366px) and (orientation:portrait){.project-tabs .tabs-container{-webkit-overflow-scrolling:touch;gap:4px;overflow-x:auto}.project-tabs .tab-btn{flex:0 0 auto;font-size:15px;font-weight:600;padding:12px 22px}.two-column-layout{gap:18px!important;grid-template-columns:340px 1fr!important}.filter-select{font-size:15px;height:38px;min-width:220px}}