@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@300;400;500;600;700;800&display=swap');
:root{--ink:#172033;--muted:#738096;--bg:#f6f8fc;--primary:#5b4ff7;--line:#e7eaf1;--green:#18a56d;--amber:#e8a317;--blue:#2583ff;--red:#e65353}
*{box-sizing:border-box} body{font-family:'Alexandria',Tahoma,sans-serif;background:var(--bg);color:var(--ink);direction:rtl;margin:0}.app{min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:245px;background:#111827;color:#fff;padding:22px 16px;overflow:auto}.brand{font-size:20px;font-weight:800;padding:8px 10px 24px}.brand small{display:block;color:#9aa5b7;font-size:10px;margin-top:5px}.nav-link{color:#cbd5e1;border-radius:12px;padding:11px 13px;margin:3px 0;font-size:13px}.nav-link:hover,.nav-link.active{background:#252f40;color:#fff}.content{margin-right:245px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.page{padding:28px}.welcome{background:linear-gradient(120deg,#171b2e,#2d3151);color:#fff;border-radius:22px;padding:26px 30px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center}.welcome h1{font-size:24px;font-weight:800;margin:0 0 8px}.welcome p{margin:0;color:#cfd4e6}.role-pill{background:#ffffff18;border:1px solid #ffffff35;padding:10px 16px;border-radius:30px;font-size:12px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;position:relative;overflow:hidden;min-height:122px}.metric-card:before{content:'';position:absolute;right:0;top:0;bottom:0;width:5px;background:var(--accent,#5b4ff7)}.metric-label{font-size:12px;color:var(--muted)}.metric-value{font-size:30px;font-weight:800;margin-top:10px}.metric-note{font-size:10px;color:#9aa3b2}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.panel-title{font-size:15px;font-weight:700;margin-bottom:16px}.btn{border-radius:11px;font-size:12px;padding:9px 14px}.btn-primary{background:#5b4ff7;border-color:#5b4ff7}.form-control,.form-select{border-radius:11px;border-color:#dfe3eb;font-size:12px;padding:10px 12px}.form-label{font-size:11px;font-weight:600}.table{font-size:11px;vertical-align:middle}.table>:not(caption)>*>*{padding:12px}.badge-soft{padding:6px 9px;border-radius:20px;font-size:9px;font-weight:600}.soft-wait{background:#fff4d8;color:#9a6a00}.soft-done{background:#e5f8ef;color:#14734d}.soft-review{background:#e8f1ff;color:#2466b2}.soft-new{background:#eeeaff;color:#5947c7}.avatar{width:38px;height:38px;border-radius:12px;background:#edeaff;color:#5b4ff7;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.team-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;border-top:4px solid var(--team,#5b4ff7)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{background:#fff;border:1px solid var(--line);border-radius:13px;min-height:105px;padding:9px;font-size:10px}.day .num{font-weight:700;font-size:12px}.visit{margin-top:7px;padding:5px 7px;border-radius:7px;background:#eeeaff;color:#4435a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-wrap{min-height:100vh;display:grid;place-items:center;background:#f5f6fb}.login-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 20px 60px #26314a12}.login-card h1{font-size:22px;font-weight:800}.hint{background:#f6f5ff;border:1px dashed #c9c4ff;border-radius:14px;padding:12px;font-size:10px;line-height:1.9}.whatsapp{color:#159c62;text-decoration:none;font-weight:700}.empty{padding:30px;text-align:center;color:var(--muted);font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-head h2{font-size:20px;font-weight:800;margin:0}.user-menu{display:flex;align-items:center;gap:10px;font-size:11px}.small-muted{font-size:10px;color:var(--muted)}
@media(max-width:900px){.sidebar{width:78px;padding:18px 8px}.sidebar .txt,.brand small{display:none}.brand{font-size:15px;text-align:center}.content{margin-right:78px}.page{padding:18px}.welcome{align-items:flex-start;gap:15px;flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,1fr)}}.visit small{display:block;font-size:7px;opacity:.72;margin-top:2px}.locked-field{background:#f1f3f7!important;color:#596579}.scope-note{background:#f7f5ff;border:1px solid #ddd8ff;border-right:4px solid var(--primary);border-radius:12px;padding:12px;font-size:10px;color:#5d5877}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-item{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fafbfe;font-size:11px;display:flex;gap:10px;align-items:center}@media(max-width:700px){.permission-grid{grid-template-columns:1fr}}

/* V4 dashboard identity */
.metric-card{border:2px solid var(--accent,#5b4ff7);border-radius:22px;padding:20px 21px;min-height:132px;background:linear-gradient(145deg,#fff 0%,#fff 72%,color-mix(in srgb,var(--accent) 7%,white) 100%);box-shadow:0 10px 28px rgba(24,32,51,.045);overflow:visible}
.metric-card:before{display:none}.metric-card:after{content:'';position:absolute;left:18px;bottom:17px;width:34px;height:7px;border-radius:99px;background:var(--accent);opacity:.18}
.metric-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-mark{width:11px;height:11px;border-radius:3px;background:var(--accent);transform:rotate(45deg);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}
.metric-label{font-size:12px;color:#566177;font-weight:600}.metric-value{font-size:34px;margin-top:13px;letter-spacing:-1px}.metric-note{margin-top:4px}.metric-card:hover{transform:translateY(-2px);transition:.2s;box-shadow:0 15px 32px rgba(24,32,51,.07)}
.status-token{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:650;color:#394257}.status-token:before{content:'';width:9px;height:9px;border-radius:3px;transform:rotate(45deg);background:var(--status)}.status-wait{--status:#e2a62d}.status-review{--status:#397fe5}.status-done{--status:#1aa16c}.status-new{--status:#6a55e8}.status-off{--status:#9aa4b2}.status-rejected{--status:#df5656}
.modal-content{border:0;border-radius:24px;box-shadow:0 25px 80px rgba(20,27,45,.18)}.modal-header,.modal-footer{border-color:var(--line)}.modal-title{font-size:17px;font-weight:800}.form-section{background:#f8f9fc;border:1px solid var(--line);border-radius:16px;padding:15px}.form-section-title{font-size:11px;font-weight:800;margin-bottom:12px;color:#505b70}.custom-user-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.custom-user-card.active{border-color:#a9a0ff;box-shadow:0 0 0 3px #eceaff}.role-chip{font-size:9px;padding:5px 8px;border:1px solid #dfe3eb;border-radius:8px;background:#f8f9fb;color:#596579}.action-stack{display:flex;gap:6px;flex-wrap:wrap}.account-state{display:inline-flex;align-items:center;gap:6px;font-size:10px}.account-state:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--dot)}.state-pending{--dot:#e2a62d}.state-active{--dot:#1aa16c}.state-disabled{--dot:#9aa4b2}.state-rejected{--dot:#df5656}

.alert{font-size:12px}.task-link{text-decoration:none}.status-token{white-space:nowrap}.calendar-nav{display:flex;gap:8px}.day.empty-day{background:#fafbfe}.day.today{outline:2px solid #5b4ff7}.day .visit{display:block;text-decoration:none}.toast-container{z-index:9999}.permission-item input{margin-left:8px}
.nav-caption{font-size:9px;color:#718096;padding:18px 13px 6px}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.month-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.month-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.month-title b{font-size:14px}.month-title span{font-size:10px;color:var(--muted)}.mini-week,.mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-week span{text-align:center;font-size:8px;color:#8b95a8;padding:3px}.mini-day{border:0;background:#f8f9fc;border-radius:8px;min-height:31px;font:inherit;font-size:9px;position:relative;color:#465064}.mini-day.has-visits{background:#eeecff;color:#4c3ec0;font-weight:800;cursor:pointer}.mini-day.has-visits:hover{background:#ddd9ff}.mini-day em{position:absolute;top:2px;left:3px;background:#5b4ff7;color:#fff;border-radius:20px;font-style:normal;font-size:7px;min-width:14px;height:14px;display:grid;place-items:center}.mini-day.is-today{outline:2px solid #5b4ff7}.mini-day.blank{background:transparent}.visit-detail{border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.detail-grid>div{background:#f8f9fc;border-radius:12px;padding:11px}.detail-grid small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.detail-grid b{font-size:11px}.detail-grid .wide{grid-column:1/-1}.detail-grid p{font-size:11px;margin:0;line-height:1.8}.manager-box{border-top:1px dashed var(--line);padding-top:12px}.manager-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0f2f6;font-size:11px}.empty-mini{background:#f8f9fc;border-radius:12px;padding:12px;color:var(--muted);font-size:10px}.archive-count{border:1px solid #d8d4ff;background:#f4f2ff;color:#5144c5;border-radius:12px;padding:9px 13px;font-size:11px;font-weight:700}.archive-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;height:100%;box-shadow:0 8px 25px rgba(24,32,51,.035)}.archive-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.archive-meta span{background:#f8f9fc;border-radius:10px;padding:9px;font-size:9px;color:#687389}.archive-card p{font-size:10px;color:#596579;line-height:1.8}@media(max-width:1100px){.year-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.year-grid{grid-template-columns:1fr}.detail-grid,.archive-meta{grid-template-columns:1fr}.detail-grid .wide{grid-column:auto}}

/* V6 calendar + account navigation */
.view-switch,.account-tabs{display:flex;gap:5px;background:#eceef5;border-radius:14px;padding:4px;width:max-content}.view-switch a,.account-tabs a{text-decoration:none;color:#596579;padding:8px 15px;border-radius:10px;font-size:11px;font-weight:700}.view-switch a.active,.account-tabs a.active{background:#fff;color:#4f43d5;box-shadow:0 3px 12px #1d29400d}.account-tabs{margin-bottom:16px}.account-tabs b{display:inline-grid;place-items:center;background:#f0efff;color:#594de0;border-radius:20px;min-width:20px;height:20px;margin-right:5px;font-size:9px}.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.calendar-current{font-size:18px;font-weight:800;min-width:150px;text-align:center}.month-full{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}.month-full .month-title b{font-size:19px}.large-days{gap:8px}.large-days .mini-day{min-height:92px;text-align:right;padding:12px;display:flex;flex-direction:column;justify-content:space-between}.large-days .mini-day>span{font-size:14px;font-weight:700}.large-days .mini-day small{font-size:9px;color:#5648d0}.large-days .mini-day em{top:9px;left:9px;min-width:21px;height:21px;font-size:9px}.large-days .blank{min-height:92px}.month-full .mini-week span{font-size:10px;padding:8px}.user-team-field,.user-department-field{transition:.15s}@media(max-width:700px){.large-days .mini-day,.large-days .blank{min-height:58px}.calendar-toolbar{flex-wrap:wrap}.account-tabs{width:100%;overflow:auto}}

/* V7 visual polish */
.login-brand{display:flex;align-items:center;gap:14px}.login-brand img{width:54px;height:54px;object-fit:cover;border-radius:16px}.login-brand h1{font-size:17px;margin:0;line-height:1.6}.brand{line-height:1.45}.brand .txt{font-size:15px}.brand small{font-size:9px;margin-top:5px}
.view-switch,.account-tabs{background:#fff;border:1px solid #e2e6ef;border-radius:16px;padding:5px;box-shadow:0 7px 24px rgba(22,30,50,.04)}.view-switch a,.account-tabs a{padding:9px 16px;border-radius:11px;transition:.18s}.view-switch a:hover,.account-tabs a:hover{background:#f5f4ff;color:#5144d9}.view-switch a.active,.account-tabs a.active{background:#171d2c;color:#fff;box-shadow:none}.account-tabs b{background:rgba(91,79,247,.1)}.account-tabs a.active b{background:#fff;color:#171d2c}
.calendar-controlbar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 12px;margin-bottom:14px}.calendar-move,.quick-date{display:flex;gap:7px;align-items:center}.cal-nav-btn{text-decoration:none;color:#374158;background:#f5f7fb;border:1px solid #e5e8ef;border-radius:11px;padding:9px 13px;font-size:10px;font-weight:700}.cal-nav-btn:hover{background:#eceaff;color:#5144d9}.cal-nav-btn.today-btn{background:#171d2c;color:#fff;border-color:#171d2c}.quick-date .form-select{width:auto;min-width:105px}.calendar-current-title{font-size:20px;font-weight:850;margin:17px 2px 12px}.month-full{padding:18px}.large-days{gap:6px}.large-days .mini-day{min-height:108px;padding:11px;border:1px solid #edf0f5;background:#fbfcfe;justify-content:flex-start;gap:15px}.large-days .mini-day:hover{border-color:#cfc9ff;background:#f8f7ff}.large-days .mini-day.has-visits{background:#fff;border-color:#a89fff;color:#172033;box-shadow:inset 0 0 0 1px #5b4ff7}.day-number{font-size:14px!important;color:#28334a}.visit-count{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-height:28px;border-radius:9px;background:#eeecff;color:#5144d9;font-size:9px;font-weight:800}.empty-count{background:transparent;color:#b2bac8;font-weight:500}.large-days .mini-day.is-today{outline:0;border-color:#171d2c;box-shadow:inset 0 0 0 2px #171d2c}.month-card .visit-count{font-size:0;background:transparent;min-height:0}.month-card .has-visits:after{content:'•';color:#5b4ff7;font-size:16px;position:absolute;bottom:0;left:50%;transform:translateX(-50%)}
.task-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vol-task{background:#fff;border:1px solid #e0e4ec;border-radius:22px;padding:20px;box-shadow:0 12px 32px rgba(23,31,50,.04);position:relative;overflow:hidden}.vol-task:before{content:'';position:absolute;right:0;top:0;bottom:0;width:4px;background:#5b4ff7}.vol-task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.vol-task h3{font-size:17px;font-weight:850;margin:7px 0 4px}.task-team{font-size:9px;font-weight:800;background:#f0efff;color:#5547d8;border-radius:8px;padding:5px 8px}.task-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.task-summary>div{background:#f8f9fc;border-radius:12px;padding:10px}.task-summary small{display:block;color:#8a94a8;font-size:8px;margin-bottom:4px}.task-summary b{font-size:10px}.task-description{border-right:3px solid #ddd9ff;background:#fbfaff;padding:11px 13px;border-radius:10px;font-size:10px;line-height:1.9;color:#4f5a6f}.task-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.task-submit{margin-top:16px;border-top:1px dashed #dfe3eb;padding-top:15px}.completed-box{margin-top:15px;background:#ecfaf4;color:#176d4e;border-radius:12px;padding:11px 13px;display:flex;justify-content:space-between;font-size:10px}.completed-box a{color:#176d4e;font-weight:800}
@media(max-width:900px){.calendar-controlbar{align-items:stretch;flex-direction:column}.calendar-move,.quick-date{flex-wrap:wrap}.task-board{grid-template-columns:1fr}.task-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.large-days .mini-day{min-height:70px;padding:7px}.visit-count{font-size:7px}.quick-date .form-select{min-width:90px}.task-summary{grid-template-columns:1fr}}
