body{margin:0}:root{--bg:#0f1410;--bg-elev:#18201a;--border:#2a3a2e;--text:#d9e2dc;--muted:#8a9a90;--accent:#6fa36b;--accent-strong:#8ac486;--danger:#e06262}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.login-shell{background:radial-gradient(1200px 600px at 50% -10%, #6fa36b26, transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:28px;display:flex;box-shadow:0 10px 40px #0006}.login-brand{text-align:center;margin-bottom:4px}.login-brand h1{letter-spacing:.08em;text-transform:uppercase;margin:6px 0 4px;font-size:20px}.login-brand p{color:var(--muted);margin:0;font-size:13px}.login-star{color:var(--accent-strong);font-size:24px;display:inline-block}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-card input{border:1px solid var(--border);color:var(--text);background:#0b100c;border-radius:6px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.login-card input:focus{border-color:var(--accent)}.login-card button{background:var(--accent);color:#0b100c;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;margin-top:6px;padding:10px 12px;font-weight:600}.login-card button:disabled{opacity:.6;cursor:wait}.login-error{color:var(--danger);background:#e062621a;border:1px solid #e0626266;border-radius:6px;padding:8px 10px;font-size:13px}.app-layout{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.app-content{width:100%;max-width:1200px;padding:28px 32px}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;gap:20px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:4px 6px 12px;display:flex}.sidebar-brand strong{letter-spacing:.08em;text-transform:uppercase;font-size:13px;display:block}.sidebar-brand small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-nav a{color:var(--muted);letter-spacing:.04em;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;text-decoration:none;display:flex}.sidebar-nav a:hover{color:var(--text);background:#6fa36b0d}.sidebar-nav a.active{color:var(--text);border-color:var(--border);background:#6fa36b1f}.nav-icon{width:20px;height:20px;color:var(--accent-strong);place-items:center;font-size:14px;display:inline-grid}.sidebar-user{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.sidebar-user-info{align-items:center;gap:10px;display:flex}.sidebar-avatar{width:34px;height:34px;color:var(--accent-strong);background:#6fa36b26;border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:grid;overflow:hidden}.sidebar-avatar img{object-fit:cover;width:100%;height:100%}.sidebar-user-name{color:var(--text);font-size:13px}.sidebar-user-handle{color:var(--muted);font-size:11px}.sidebar-user button{color:var(--text);border:1px solid var(--border);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:6px;padding:7px 10px;font-size:12px}.sidebar-user button:hover{border-color:var(--accent)}.dash-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dash-title h2{letter-spacing:.03em;margin:0;font-weight:600}.muted{color:var(--muted)}.btn-primary{background:var(--accent);color:#0b100c;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:disabled{opacity:.6;cursor:wait}.empty-state{border:1px dashed var(--border);text-align:center;color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.member-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.member-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.member-avatar{aspect-ratio:4/3;color:var(--accent-strong);letter-spacing:.05em;background:linear-gradient(135deg,#1f2a22,#131a15);place-items:center;font-size:32px;font-weight:600;display:grid;position:relative}.member-avatar img{object-fit:cover;width:100%;height:100%;display:block}.unit-badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--text);background:#0b100cd9;border-radius:3px;padding:3px 6px;font-size:10px;position:absolute;bottom:8px;left:8px}.unit-isf .unit-badge{color:#9ab9e6;border-color:#4a7ac0}.unit-lebanese-army .unit-badge{color:#d4a86a;border-color:#8a5a2b}.unit-state-security .unit-badge{color:#c49ac4;border-color:#7a3f7a}.unit-civilian .unit-badge{border-color:var(--border);color:var(--muted)}.member-body{flex-direction:column;gap:10px;padding:12px;display:flex}.member-body h3{margin:0;font-size:14px;font-weight:600}.member-body dl{grid-template-columns:56px 1fr;gap:3px 10px;margin:0;font-size:12px;display:grid}.member-body dl>div{display:contents}.member-body dt{color:var(--muted)}.member-body dd{color:var(--text);margin:0}.creds{border-top:1px dashed var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.creds-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px}.creds-row{align-items:center;gap:6px;font-size:12px;display:flex}.creds-label{color:var(--muted);width:30px;font-size:10px}.creds-row code{border:1px solid var(--border);color:var(--accent-strong);text-overflow:ellipsis;white-space:nowrap;background:#0b100c;border-radius:3px;flex:1;padding:3px 6px;font-size:11px;overflow:hidden}.creds-toggle{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px;font-size:10px}.creds-toggle:hover{color:var(--text);border-color:var(--accent)}.member-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:16px;max-width:720px;padding:24px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.form-grid .span-2{grid-column:1/-1}.form-grid input,.form-grid select{border:1px solid var(--border);color:var(--text);background:#0b100c;border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent)}.form-grid input[type=file]{padding:8px}.image-preview{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:120px;height:120px;margin-top:8px}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding-top:16px;display:flex}.form-actions button{color:var(--text);border:1px solid var(--border);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px}.form-actions button:hover{border-color:var(--accent)}.form-actions .btn-primary{border:none}.my-hero{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:20px 24px;display:flex}.my-hero-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.my-hero-name{margin-top:4px;font-size:22px;font-weight:600}.my-hero-sub{color:var(--muted);margin-top:2px;font-size:13px}.my-actions{gap:10px;display:flex}.btn-outline{color:var(--text);border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.btn-outline:hover:not(:disabled){border-color:var(--accent)}.btn-outline:disabled{opacity:.6;cursor:wait}.my-status{margin-bottom:16px}.status-ok{color:var(--accent-strong);background:#6fa36b1f;border:1px solid #6fa36b66;border-radius:6px;padding:8px 12px;font-size:13px}.my-calendar{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.my-day{background:var(--bg-elev);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}.my-day-dow{color:var(--muted);letter-spacing:.1em;font-size:10px}.my-day-num{font-size:18px;font-weight:600}.my-day-mark{letter-spacing:.1em;background:var(--accent);color:#0b100c;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:700}.my-day.duty{border-color:var(--accent);background:#6fa36b1a}.my-day.weekend{background:#ffffff05}.my-day.today{outline:2px solid var(--accent-strong);outline-offset:-1px}.log-wrapper{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;overflow:auto}.log-table{border-collapse:collapse;width:100%;font-size:13px}.log-table th,.log-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.log-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#141c16;font-size:11px;font-weight:500}.log-table tbody tr:last-child td{border-bottom:none}.log-table tbody tr:hover{background:#6fa36b0a}.pill{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);border-radius:3px;padding:3px 8px;font-size:11px;display:inline-block}.pill-in{color:#9ad49a;background:#6fa36b14;border-color:#6fa36b80}.pill-out{color:#d4a86a;background:#8a5a2b14;border-color:#8a5a2b80}.pill-warn{color:#e8b464;background:#e8b46414;border-color:#e8b46480}.map-link{color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-decoration:none}.map-link:hover{text-decoration:underline}.lang-switch{border:1px solid var(--border);background:#0b100c80;border-radius:6px;gap:4px;padding:4px;display:flex}.lang-switch button{color:var(--muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:4px;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.lang-switch button.active{color:var(--text);background:#6fa36b2e}.lang-switch button:hover:not(.active){color:var(--text)}.report-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.report-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:18px 16px;display:flex;position:relative;overflow:hidden}.report-card:before{content:"";inset-inline-start:0;width:3px;position:absolute;top:0;bottom:0}.report-card.accent-accent:before{background:var(--accent)}.report-card.accent-good:before{background:#4ad268}.report-card.accent-warn:before{background:#e8b464}.report-card.accent-bad:before{background:#e84c4c}.report-card.accent-neutral:before{background:var(--muted);opacity:.4}.report-value{color:var(--text);letter-spacing:.02em;font-size:28px;font-weight:700}.report-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.report-section{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:20px 24px}.report-section h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-size:14px}.bar-list{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:160px 1fr 40px;align-items:center;gap:12px;display:grid}.bar-label{font-size:13px}.bar-track{background:#ffffff0a;border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-strong));border-radius:4px;height:100%}.bar-count{color:var(--text);text-align:end;font-size:13px;font-weight:600}[dir=rtl] .bar-fill{background:linear-gradient(270deg, var(--accent), var(--accent-strong))}[dir=rtl] .creds-row code{text-align:right}.date-picker{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;align-items:center;gap:4px;padding:4px;display:flex}.date-picker input[type=date]{color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;outline:none;padding:4px 8px;font-family:inherit;font-size:13px}.date-picker button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;width:26px;height:26px;font-size:16px}.date-picker button:hover{background:#6fa36b26}.date-picker .btn-today{letter-spacing:.06em;text-transform:uppercase;width:auto;color:var(--muted);padding:0 10px;font-size:11px}.daily-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.daily-date{color:var(--muted);letter-spacing:.03em;font-size:14px}.daily-counts{flex-wrap:wrap;gap:6px;display:flex}.count-pill{border:1px solid var(--border);letter-spacing:.04em;border-radius:3px;padding:3px 8px;font-size:11px}.count-pill.in{color:#9ad49a;background:#6fa36b14;border-color:#6fa36b80}.count-pill.out{color:#e08a8a;background:#e0626214;border-color:#e0626280}.count-pill.none{color:var(--muted)}.daily-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.daily-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.daily-avatar{aspect-ratio:4/3;color:var(--accent-strong);letter-spacing:.05em;background:linear-gradient(135deg,#1f2a22,#131a15);place-items:center;font-size:32px;font-weight:600;display:grid;position:relative}.daily-avatar img{object-fit:cover;width:100%;height:100%;display:block}.daily-body{flex-direction:column;gap:8px;padding:12px;display:flex}.daily-body h3{margin:0;font-size:14px;font-weight:600}.daily-meta{color:var(--muted);font-size:11px}.status-btn{letter-spacing:.03em;text-transform:uppercase;border:1px solid;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.status-btn .status-dot{border-radius:50%;flex:none;width:8px;height:8px}.status-btn .status-time{text-transform:none;letter-spacing:0;opacity:.85;margin-inline-start:auto;font-size:11px;font-weight:400}.status-in{color:#8ee592;background:#38a04826;border-color:#38a04899}.status-in .status-dot{background:#4ad268;box-shadow:0 0 8px #4ad26899}.status-out{color:#f08a8a;background:#e03e3e1f;border-color:#e03e3e99}.status-out .status-dot{background:#e84c4c;box-shadow:0 0 8px #e84c4c80}.status-none{border-color:var(--border);color:var(--muted);background:#ffffff08}.status-none .status-dot{background:var(--muted)}.month-picker{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;padding:4px;display:flex}.month-picker span{letter-spacing:.04em;text-align:center;min-width:140px;padding:0 12px;font-size:13px}.month-picker button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;width:26px;height:26px;font-size:16px}.month-picker button:hover{background:#6fa36b26}.schedule-wrapper{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;overflow:auto}.schedule-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.schedule-table th,.schedule-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;background:var(--bg-elev);padding:0}.schedule-table thead th{z-index:2;background:#141c16;position:sticky;top:0}.schedule-table .member-col{z-index:3;text-align:start;background:var(--bg-elev);min-width:160px;max-width:180px;position:sticky;inset-inline-start:0}.schedule-table thead .member-col{z-index:4;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#141c16;padding:10px 12px;font-size:11px;font-weight:500}.schedule-table tbody .member-col{padding:6px 10px}.sched-member{align-items:center;gap:8px;display:flex}.sched-avatar{width:26px;height:26px;color:var(--accent-strong);background:#6fa36b26;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid;overflow:hidden}.sched-avatar img{object-fit:cover;width:100%;height:100%}.sched-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:12px;overflow:hidden}.sched-unit{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;overflow:hidden}.day-col{width:26px;color:var(--muted);padding:4px 0!important}.day-col .day-num{color:var(--text);font-size:12px;font-weight:600}.day-col .day-dow{color:var(--muted);letter-spacing:.04em;font-size:10px}.day-col.weekend{background:#6fa36b0a}.day-col.today .day-num{color:var(--accent-strong)}.day-col.today{box-shadow:inset 0 -2px 0 var(--accent)}.duty-cell{width:26px;height:28px;padding:0}.duty-cell.weekend{background:#6fa36b08}.duty-cell button{cursor:pointer;color:#0000;background:0 0;border:none;width:100%;height:100%;font-size:14px}.duty-cell button:hover{color:var(--muted);background:#6fa36b1a}.duty-cell button:hover:before{content:"✕"}.duty-cell.on{background:#6fa36b33}.duty-cell.on button{color:var(--accent-strong);font-weight:700}.duty-cell.on button:before{content:none}@media (width<=760px){.app-layout{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:12px;height:auto;padding:12px 16px;position:static}.sidebar-brand{border:none;padding:0}.sidebar-nav{flex-direction:row;flex:1}.sidebar-user{border:none;flex-direction:row;align-items:center;padding:0}}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:1}}
