:root{color-scheme:light;--primary: #1560c8;--primary-dark: #0d47a6;--primary-soft: #e8effd;--accent: #4a8cf0;--border: #d3e0f7;--text: #08214a;--muted: #5a6f95;--bg: #eef3fd;--danger: #c92a2a;--danger-soft: #fff5f5;--success: #0b7a48;--glass: linear-gradient(155deg, rgba(255, 255, 255, .92), rgba(228, 237, 252, .74));--glass-strong: linear-gradient(155deg, rgba(255, 255, 255, .97), rgba(233, 241, 253, .88));--glass-border: rgba(255, 255, 255, .85);--glass-blur: saturate(140%) blur(16px);--tile: linear-gradient(150deg, #e9f1fe, #cbddfa);--tile-border: rgba(255, 255, 255, .95);--tile-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 16px -10px rgba(10, 52, 130, .55);--grad-primary: linear-gradient(135deg, #2069d8, #0d47a6);--shadow-sm: 0 6px 16px -9px rgba(10, 52, 130, .45);--shadow-card: 0 18px 38px -22px rgba(10, 52, 130, .55), 0 2px 6px rgba(10, 52, 130, .05);--radius-card: 20px;--radius-tile: 15px;--radius-pill: 999px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 620px at 10% -12%,rgba(90,150,245,.3),transparent 62%),radial-gradient(900px 560px at 92% 2%,rgba(140,180,250,.28),transparent 64%)}.icon-tile{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-tile);background:var(--tile);border:1px solid var(--tile-border);box-shadow:var(--tile-shadow);color:var(--primary);font-size:20px;flex-shrink:0}.icon-svg{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex-shrink:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:14px}input:not([type=checkbox]):not([type=radio]),select,textarea{padding:8px 12px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-strong);color:var(--text);outline:none}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--accent)}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#ffffffeb,#eaf0fdd1);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);padding:22px 16px;display:flex;flex-direction:column;gap:26px}.sidebar-brand{font-size:17px;font-weight:900;color:var(--primary);line-height:1.3}.sidebar-brand span{display:block;font-size:12px;font-weight:700;color:var(--muted)}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;font-size:14px;font-weight:700;color:var(--text);transition:background .15s,color .15s}.sidebar-nav a:hover{background:var(--primary-soft);color:var(--primary)}.sidebar-nav a.active{background:var(--grad-primary);color:#fff;box-shadow:0 12px 22px -14px #0a3482e6}.sidebar-nav .icon-svg{font-size:17px}.sidebar-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:none;border-radius:14px;background:none;font-family:inherit;font-size:14px;font-weight:700;color:var(--text);text-align:left;cursor:pointer;transition:background .15s,color .15s}.sidebar-group-head:hover{background:var(--primary-soft);color:var(--primary)}.sidebar-group-head.active{background:var(--grad-primary);color:#fff;box-shadow:0 12px 22px -14px #0a3482e6}.sidebar-group-chevron{margin-left:auto;font-size:14px;transition:transform .15s}.sidebar-group-head.open .sidebar-group-chevron{transform:rotate(180deg)}.sidebar-sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px;padding-left:16px}.sidebar-sub a{padding:9px 12px;border-radius:12px;font-size:13px}.sidebar-sub .icon-svg{font-size:15px}.sidebar-count{margin-left:auto;padding:1px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:800}.sidebar-sub a.active .sidebar-count,.sidebar-nav a.active .sidebar-count{background:#ffffff38;color:#fff}.main-col{display:flex;flex-direction:column;min-width:0}.topbar{height:56px;padding:0 22px;display:flex;align-items:center;justify-content:flex-end;background:var(--glass-strong, rgba(255, 255, 255, .92));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:60}.top-controls{display:flex;align-items:center;gap:10px}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:none;color:var(--primary);font-size:15px;cursor:pointer;transition:border-color .15s}.icon-btn:hover{border-color:var(--primary)}.profile-card{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border:1px solid var(--border);border-radius:999px}.avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--grad-primary);color:#fff;font-size:15px;flex-shrink:0}.profile-who{display:flex;flex-direction:column;line-height:1.25}.profile-name{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap}.profile-role{font-size:11px;color:var(--muted);white-space:nowrap}.logout-btn{color:var(--danger, #c92a2a)}.logout-btn:hover{border-color:var(--danger, #c92a2a)}.content{padding:28px 34px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-head h1{margin:0;font-size:24px;color:var(--primary)}.page-head p{margin:4px 0 0;font-size:14px;color:var(--muted)}.card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:26px;box-shadow:var(--shadow-card)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(211,224,247,.6)}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table td{font-size:14px}.table tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:8px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;border:1px solid var(--glass-border)}.badge-on{background:#e2f7ee;color:var(--success);border-color:#0b7a482e}.badge-off{background:var(--glass-strong);color:var(--muted)}.form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:900;color:var(--primary)}.field .hint{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:11px 14px;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-strong);box-shadow:var(--shadow-sm);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a8cf038}.field textarea{min-height:130px;resize:vertical;line-height:1.5}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}.checkbox label{font-size:14px;font-weight:700;color:var(--text)}.form-actions{display:flex;gap:10px;align-items:center}.brand-link{display:inline-flex;align-items:center;gap:10px;margin:0 auto 20px;text-decoration:none}.brand-link img{width:34px;height:34px}.brand-link span{font-size:19px;font-weight:900;letter-spacing:-.2px;color:var(--primary)}.brand-link:hover span{color:var(--primary-dark)}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--glass-strong);box-shadow:var(--shadow-sm);color:var(--primary);font-weight:800;cursor:pointer;transition:border-color .15s,transform .15s,filter .15s}.btn:hover{border-color:var(--accent);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--grad-primary);border-color:transparent;color:#fff;box-shadow:0 14px 26px -14px #0a3482e6}.btn-primary:hover{filter:brightness(1.08)}.btn-danger{color:var(--danger);border-color:#f0c6c6}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:6px 12px;font-size:13px}.alert{padding:13px 18px;border-radius:14px;font-size:14px;font-weight:700}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid #f0c6c6}.alert-info{background:var(--primary-soft);color:var(--primary);border:1px solid var(--glass-border)}.empty{padding:40px;text-align:center;color:var(--muted);font-size:14px}.login-page{min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-card{width:100%;max-width:380px}.login-card h1{margin:0 0 4px;font-size:22px;color:var(--primary)}.login-card p.sub{margin:0 0 22px;font-size:14px;color:var(--muted)}.lang-tabs{display:flex;gap:6px;margin-bottom:4px}.lang-tabs button{padding:6px 16px;border-radius:999px;border:1px solid var(--border);background:var(--glass-strong);color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.lang-tabs button[aria-selected=true]{background:var(--grad-primary);border-color:transparent;color:#fff}.btn-block{width:100%;justify-content:center}.muted{color:var(--muted);font-size:14px}.lang-menu{position:relative;flex-shrink:0}.lang-btn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:none;color:var(--primary);font-size:13px;font-weight:800;cursor:pointer;transition:border-color .15s}.lang-btn:hover{border-color:var(--primary)}.lang-btn-chevron{font-size:13px}.lang-list{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;margin:0;padding:8px;list-style:none;display:grid;gap:2px;background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--shadow-card);z-index:300}.lang-list button{width:100%;display:flex;align-items:center;gap:8px;border:none;background:none;text-align:left;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:700;color:var(--text);cursor:pointer}.lang-list button:hover{background:var(--primary-soft)}.lang-list button.active{background:var(--grad-primary);color:#fff}.lang-code{font-size:11px;font-weight:900;opacity:.7}.login-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:14px}[data-theme=dark]{color-scheme:dark;--primary: #6da0ff;--primary-dark: #8ab4ff;--primary-soft: #101f3d;--accent: #7fb0ff;--border: #22324f;--text: #e8eefb;--muted: #93a4c4;--bg: #070e20;--danger: #ff8f8f;--danger-soft: #2a1414;--success: #4ad4a0;--glass: linear-gradient(155deg, rgba(24, 38, 68, .92), rgba(14, 24, 48, .86));--glass-strong: linear-gradient(155deg, rgba(29, 45, 80, .96), rgba(16, 28, 56, .92));--glass-border: rgba(138, 170, 235, .16);--glass-blur: saturate(120%) blur(16px);--tile: linear-gradient(150deg, #16294f, #101d3c);--tile-border: rgba(138, 170, 235, .18);--tile-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 8px 16px -10px rgba(0, 0, 0, .8);--grad-primary: linear-gradient(135deg, #2f6fdc, #1b4ea8);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 10px -4px rgba(0, 0, 0, .35);--shadow-card: 0 1px 2px rgba(0, 0, 0, .25), 0 12px 28px -14px rgba(0, 0, 0, .45)}[data-theme=dark] body:before{background:radial-gradient(1100px 620px at 10% -12%,rgba(30,70,150,.5),transparent 62%),radial-gradient(900px 560px at 92% 2%,rgba(24,54,120,.45),transparent 64%)}[data-theme=dark] .sidebar{background:linear-gradient(180deg,#101c38eb,#0a142cd1)}[data-theme=dark] .lang-tabs button{background:var(--glass-strong)}[data-theme=dark] .table th,[data-theme=dark] .table td{border-bottom-color:#8aaaeb24}[data-theme=dark] .badge-on{background:#4ad4a024;border-color:#4ad4a047}[data-theme=dark] .btn-danger,[data-theme=dark] .alert-error{border-color:#ff8f8f61}.photo-preview{display:flex;flex-wrap:wrap;gap:8px}.photo-preview img{display:block;width:96px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-strong)}.checkbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 16px;max-height:220px;overflow-y:auto;padding:4px 2px}.hours-editor{display:grid;gap:4px}.hours-row{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:start;padding:6px 0;border-bottom:1px dashed rgba(211,224,247,.6)}.hours-row:last-child{border-bottom:none}.hours-day{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding-top:6px;cursor:pointer}.hours-day input{width:auto}.hours-ranges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hours-range{display:inline-flex;align-items:center;gap:6px}.hours-range input[type=time]{width:112px;padding:6px 8px}.hours-off{color:var(--muted);font-size:13px;padding-top:8px}.btn-ghost{background:transparent;border-color:transparent;padding:4px 8px}.badge-pending{background:#f0bc632e;color:#b7791f;border-color:#b7791f47}.badge-rejected{background:var(--danger-soft);color:var(--danger);border-color:#f0c6c6}.badge-ended{background:var(--glass-strong);color:var(--muted)}.wp-list{display:grid;gap:10px}.wp-item{border:1px solid rgba(211,224,247,.8);border-radius:14px;padding:12px 14px;display:grid;gap:6px}.wp-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.wp-head strong{font-size:15px}.wp-meta{font-size:13px;color:var(--muted)}.wp-hours{font-size:14px}.wp-note{font-size:13px;color:var(--danger)}.wp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.wp-editor{border-top:1px dashed rgba(211,224,247,.8);padding-top:12px;margin-top:6px;display:grid;gap:12px}.wp-week{display:grid;gap:2px;font-size:13px}.wp-chips{display:flex;flex-wrap:wrap;gap:6px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}@media(max-width:640px){.hours-row{grid-template-columns:1fr;gap:6px}}.checklist{margin:8px 0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px}.checklist .is-ok{color:var(--success)}.checklist .is-missing{color:var(--danger)}.badge-approved{background:#e2f7ee;color:var(--success);border-color:#0b7a482e}.diff td{vertical-align:top;white-space:pre-wrap}.diff-before{color:var(--muted);text-decoration:line-through}.diff-after{color:var(--success);font-weight:700}.badge-pending{text-decoration:none}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:12px 0}.chips .chip{display:inline-flex;align-items:center;gap:4px}.chip-x{border:0;background:transparent;cursor:pointer;color:inherit;opacity:.6;padding:0 2px;font-size:13px}.chip-x:hover{opacity:1}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input{flex:1;max-width:320px}.stars{color:#f5a623;letter-spacing:1px}.notif-tabs{margin-bottom:16px}.notif-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}.notif-stat{padding:18px 20px}.notif-stat-label{font-size:12px;font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.04em}.notif-stat-value{font-size:28px;font-weight:900;color:var(--text)}.notif-stat-hint{font-size:13px;color:var(--muted)}.notif-section{margin-bottom:16px;overflow-x:auto}.notif-section h2{margin:0 0 6px;font-size:17px}.notif-group{margin-top:14px}.notif-group h3{margin:0 0 8px;font-size:14px;color:var(--muted)}.notif-order{list-style:none;margin:0;padding:0;display:grid;gap:8px}.notif-order li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-strong)}.notif-order li.is-off{opacity:.6}.notif-rank{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:900}.notif-toggle{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:160px;font-weight:700;color:var(--text)}.notif-toggle input{width:auto}.notif-check{font-size:13px;color:var(--muted)}.notif-check.is-ok{color:var(--success)}.notif-check.is-fail{color:var(--danger)}.notif-bar{display:flex;height:10px;min-width:120px;border-radius:var(--radius-pill);overflow:hidden;background:var(--glass-strong)}.notif-bar-sent{background:var(--success)}.notif-bar-failed{background:var(--danger)}
