:root { font-family: Arial,'Segoe UI',sans-serif; color:#152b49; font-size:16px; background:#f3f6fb; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; }
button, input, select { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none!important; }
.shell { width:min(1050px,100%); margin:0 auto; background:white; min-height:100vh; box-shadow:0 0 45px #10345b12; }
.hero { padding:28px clamp(18px,4vw,45px) 36px; color:white; background:linear-gradient(120deg,#102749 0%,#183e76 78%,#275796 100%); }
.hero-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.logo { width:67px;height:45px;line-height:45px; border-radius:15px; background:#ffffff23; text-align:center; letter-spacing:-3px; font-size:18px; color:#d9e9ff; }
.logo span { color:#f3df99; }
.hero-admin { color:#eaf3ff;background:#ffffff18; border:1px solid #ffffff45; padding:10px 16px; border-radius:11px; font-size:.84rem; }
.hero-admin:hover { background:#ffffff32; }
.eyebrow { letter-spacing:.4px; font-size:.82rem; color:#b7d8ff; font-weight:700; margin:0 0 8px; }
h1 { font-size:clamp(1.65rem,4.6vw,2.75rem); margin:0 0 8px; line-height:1.24; }
.hero-subtitle { color:#dbe7f8; margin:0; font-size:.96rem; }
main { padding:26px clamp(16px,4vw,45px) 36px; }
.name-panel { border:1px solid #dce5f0; border-radius:17px; background:#f9fbff; padding:20px; }
label { display:block; margin-bottom:8px; font-weight:700; font-size:.94rem; }
input:not([type=checkbox]), select { width:100%; min-height:44px; background:white; border:1px solid #cbd9ea; border-radius:10px; padding:10px 12px; outline:none; color:#122b49; }
input:focus,select:focus,button:focus-visible { outline:3px solid #73b5ff99; outline-offset:1px; }
#volunteerName { max-width:440px; }
.muted { color:#667b95; }
.small { font-size:.8rem; margin:8px 0 0; }
.info-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:24px 0 14px; flex-wrap:wrap; }
.legend { display:flex; align-items:center; gap:7px; color:#60748c; font-size:.82rem; flex-wrap:wrap; }
.legend-dot { display:inline-block;width:12px;height:12px;border-radius:4px; }
.legend-dot.available { background:#d6f5e2;border:1px solid #45b67b; }
.legend-dot.occupied { background:#f0e2e5;border:1px solid #c8a1ac; margin-right:8px; }
.legend-dot.closed { background:#e8eaf0;border:1px solid #a5adbf; margin-right:8px; }
.link-btn { border:0; background:none; color:#1c64ad; padding:8px; font-weight:700; }
.day-label { font-weight:800; color:#183c6b; font-size:1.13rem; margin:28px 0 12px; padding:0 2px; }
.session-card { border:1px solid #dae4f0; border-radius:16px; padding:18px; margin:0 0 14px; background:white; box-shadow:0 3px 14px #1e497007; }
.session-top { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:15px; }
.session-time { display:flex; align-items:center; gap:9px; font-weight:800; font-size:1.17rem; }
.time-icon { background:#e9f1ff; color:#3567a7; border-radius:10px; padding:9px; font-size:.96rem; }
.session-count { padding:7px 10px; background:#eff5fc;border-radius:10px; font-size:.79rem; color:#4f6d90; font-weight:700; }
.slots { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px; }
.slot { border:1px solid #83ce9f; background:#e6f8ec; color:#196b42; height:45px; border-radius:9px; font-weight:800; transition:background .12s; }
.slot:not(:disabled):hover { background:#c9efd8; box-shadow:0 0 0 2px #9ad8ad; }
.slot:disabled { cursor:not-allowed; }
.slot.taken { background:#f1e9ed; border-color:#e1c9d2; color:#9b7d88; }
.slot.closed { background:#e9ecf2; border-color:#d8dde7; color:#8b99ad; }
.session-foot { display:flex; justify-content:space-between; color:#69819d; font-size:.77rem; margin-top:12px; gap:8px; }
.session-card .bar { height:5px; background:#e9eef5; border-radius:10px; margin-top:13px; overflow:hidden; }
.session-card .bar > span { display:block; height:100%; background:#4086c9; border-radius:10px; }
.empty { background:#f6f9fd; border:1px dashed #c9d8e9; color:#657c98; padding:28px; text-align:center; border-radius:15px; }
.loading { text-align:center; padding:40px; color:#6b809a; }
.footer-hint { margin-top:25px; color:#71859b; font-size:.82rem; line-height:1.7; }
.site-footer { border-top:1px solid #ecf0f6; padding:19px; text-align:center; color:#91a0b2; font-size:.75rem; }
.toast { position:sticky; top:10px; z-index:5; padding:14px 18px; border-radius:11px; border:1px solid #bbd9ba; background:#eaf9ed; color:#255d30; box-shadow:0 5px 15px #001a3d16; margin-bottom:18px; font-weight:700; }
.toast.error { background:#fff0f0; border-color:#f1c9c9; color:#9d2834; }
.admin-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
h2 { margin:0; font-size:1.55rem; }
h3 { margin:0 0 12px; color:#1c477d; }
h4 { margin:20px 0 12px; }
.panel { border:1px solid #dce5ef; padding:20px; border-radius:15px; margin:0 0 18px; background:#fff; }
.login-form { max-width:450px; }
.login-form input { margin-bottom:12px; }
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn { border-radius:10px; padding:10px 14px; border:1px solid transparent; font-weight:700; white-space:nowrap; }
.primary-btn { background:#1a4b87; color:white; }
.primary-btn:hover { background:#103762; }
.secondary-btn { background:#e5eef9; color:#16487f; }
.ghost-btn { background:white; color:#1c578f; border-color:#ccd9e9; }
.danger-btn { background:#fff4f4; color:#ad3744; border-color:#f1c9cc; }
.primary-btn:disabled,.secondary-btn:disabled { opacity:.55;cursor:wait; }
.admin-tools { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.admin-status { color:#26825a; font-size:.82rem; font-weight:700; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-row { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.form-row .field { flex:1 1 180px; }
.field { min-width:0; margin-bottom:12px; }
.field label { font-size:.83rem; margin-bottom:7px; }
.field input { min-width:0; }
.check-row { display:flex; align-items:center; gap:8px; margin:10px 0 15px; font-weight:600; }
.check-row input { width:18px;height:18px;accent-color:#256baf; }
.admin-table-wrap { overflow-x:auto; border:1px solid #e0e8f3; border-radius:12px; }
.admin-table { width:100%; border-collapse:collapse; font-size:.87rem; }
.admin-table th { text-align:right; background:#f1f6fc; font-size:.79rem; color:#516c8e; }
.admin-table td,.admin-table th { padding:11px 12px; border-bottom:1px solid #e9eef5; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table button { padding:6px 9px; font-size:.78rem; }
.admin-table .actions { display:flex; flex-wrap:wrap; gap:6px; }
.pill { display:inline-block; padding:5px 9px; border-radius:30px; font-size:.74rem; font-weight:800; background:#e8f5ed; color:#24734c; }
.pill.off { background:#eef1f5; color:#738097; }
.sep { border:0; height:1px; background:#e3ebf4; margin:19px 0; }
.action-row { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.admin-session-title { margin:18px 0 8px; color:#204f89; }
.admin-editor { background:#f6f9fe; border:1px solid #dae6f4; border-radius:12px; padding:16px; margin:14px 0; }
.admin-editor .form-row .field { flex-basis:120px; }
.danger-note { color:#b3565e; font-size:.8rem; }
.instruction { font-size:.81rem; color:#70839a; line-height:1.6; }
@media (max-width:800px) { .slots { grid-template-columns:repeat(6,minmax(0,1fr)); }.admin-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .hero { padding-top:22px; } .hero-top { margin-bottom:14px; } .slots { gap:7px; }.slot { height:43px; }.session-card { padding:14px; }.session-top { align-items:flex-start; }.admin-table td,.admin-table th { padding:9px 8px; }.panel { padding:15px; }.admin-head h2 { font-size:1.25rem; } }

/* גרסה 1.1: יציאה מההרשמה ללא סגירת לשונית הדפדפן */
.public-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.exit-btn { border:1px solid #bcd1e5; background:#e8f0fa; color:#173f70; padding:9px 14px; border-radius:10px; font-weight:800; }
.exit-btn:hover { background:#dce9f8; }
.finish-actions { display:flex; justify-content:center; margin:22px 0 4px; }
.large-exit { min-height:46px; padding:12px 25px; }
.finished-page { padding:14px 0 28px; }
.finished-card { max-width:630px; margin:20px auto; text-align:center; padding:38px 22px; border:1px solid #dce6f0; border-radius:18px; background:#fbfdff; }
.finished-icon { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 18px; background:#e6f8ec; color:#1c8150; border-radius:50%; font-size:34px; font-weight:800; }
.finished-card h2 { color:#183c6b; }
.finished-card p { line-height:1.7; }
.finished-card button { margin-top:12px; }
@media (max-width:480px) { .public-actions { width:100%; justify-content:space-between; }.finish-actions .exit-btn { width:100%; } }
