:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;color:#172b35;background:#f4f8f8;font-size:14px;font-synthesis:none;--teal:#0c8779;--teal2:#ddf7ed;--ink:#17323d;--muted:#71818b;--line:#e5ebed;--shadow:0 8px 28px #153d4610}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--teal)}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:750;letter-spacing:-.7px}h2{font-size:18px;font-weight:740;letter-spacing:-.3px}h3{font-size:15px}p{line-height:1.6}.muted,.hint{color:var(--muted)}.hint{font-size:12px}.app{display:flex;min-height:100vh}.side{width:244px;background:#0f313e;color:#b7c9cf;padding:27px 15px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;gap:10px;align-items:center;color:#fff;font-size:21px;font-weight:800;padding:0 12px 25px}.brandmark{width:36px;height:36px;border-radius:12px;background:#134a52;display:grid;place-items:center;color:#8defd2;font-size:26px;font-weight:800}.nav-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;margin:20px 12px 9px;color:#7596a0}.nav{display:grid;gap:3px}.nav button{border:0;background:transparent;color:#a8c1c9;padding:12px 13px;border-radius:11px;text-align:start;display:flex;align-items:center;gap:13px;width:100%;font-size:13px;font-weight:600}.nav button.active{color:#e3fff5;background:#23565a}.nav button:hover:not(.active){background:#1a4450;color:#fff}.nav .ico{font-size:18px;width:19px;text-align:center}.sidefoot{margin-top:auto;border-top:1px solid #2c4c56;padding:18px 9px 0;font-size:12px;display:grid;gap:8px}.sidefoot strong{color:white}.dot{width:6px;height:6px;border-radius:50%;background:#80e2c2;display:inline-block;margin-inline-end:5px}.sidefoot button{background:transparent;border:1px solid #3f5b63;color:#cfdbdf;padding:8px;border-radius:8px}.main{flex:1;min-width:0}.top{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:10px}.top .meta{font-weight:650;color:#41525b}.topright{display:flex;align-items:center;gap:14px}.topright small{color:#839199}.initial{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:750;color:#07574d;background:#d9f7ed}.content{padding:33px 38px 55px;max-width:1480px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:27px}.heading p{margin-top:6px;color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;color:#29424a;padding:10px 15px;border-radius:10px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-weight:680;white-space:nowrap}.btn:hover{border-color:#9bd4c7}.btn.primary{background:#087e71;color:white;border-color:#087e71}.btn.primary:hover{background:#06685d}.btn.ghost{background:transparent}.btn.small{padding:7px 10px;font-size:12px;border-radius:8px}.btn.danger{color:#b53b40}.btns{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat,.panel{background:white;border:1px solid #e8edee;border-radius:15px;box-shadow:var(--shadow)}.stat{padding:23px 23px 20px;min-height:121px}.stat .label{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px}.stat .value{font-size:29px;font-weight:800;margin-top:10px;letter-spacing:-1px}.stat .suffix{font-size:12px;font-weight:600;color:var(--muted)}.panel{padding:22px;margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.empty{text-align:center;padding:48px 12px;color:#809098}.empty .bigicon{font-size:34px;margin-bottom:9px}.pill{border-radius:50px;padding:5px 10px;font-size:11px;font-weight:700;background:#e9f0f3;color:#536e7a;display:inline-block;white-space:nowrap}.pill.waiting{background:#fff2cf;color:#92640b}.pill.in_progress{background:#dbf4ec;color:#14745e}.pill.done{background:#e5eff9;color:#316589}.pill.cancelled,.pill.no_show{background:#fce7e7;color:#a14c4c}.tablewrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:start}th{font-size:11px;text-transform:uppercase;letter-spacing:.65px;color:#85949d;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid #f0f3f4;vertical-align:middle}tr:last-child td{border-bottom:0}td .name{font-weight:730}td .sub{font-size:12px;color:#98a3aa;margin-top:4px}.tablebtn{background:transparent;border:0;color:#0c8577;padding:3px;font-weight:700;text-align:start}.tablebtn:hover{text-decoration:underline}.grid-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick{background:#f5faf8;border:1px solid #e0efeb;border-radius:12px;min-height:106px;text-align:start;padding:17px;display:grid;align-content:space-between;color:#285457}.quick span{font-size:23px}.quick:hover{background:#e9f7ef;border-color:#c7e8d8}.search{width:min(100%,380px);padding:12px 15px 12px 39px;background:#fff;border:1px solid #dfE6e9;border-radius:11px;outline:none}.search:focus,input:focus,select:focus,textarea:focus{border-color:#2cae9e;outline:2px solid #b7e7db;outline-offset:1px}.searchwrap{position:relative}.searchwrap:before{content:'⌕';font-size:27px;position:absolute;inset-inline-start:12px;top:3px;color:#82949d}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:19px}.date{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;color:var(--ink)}.small-title{font-weight:750;color:#314851}.callout{background:#eef8f5;padding:17px;border-radius:12px;color:#376f65;font-size:13px}.trial{background:#fff9e9;border:1px solid #f2e9cb;color:#87630c;padding:11px 14px;border-radius:10px;margin-bottom:19px;font-size:13px}.detail-overlay,.modal-overlay{position:fixed;inset:0;background:#122e3b73;z-index:40;display:flex;justify-content:flex-end}.drawer{width:min(640px,100%);background:#fff;height:100%;overflow:auto;box-shadow:-10px 0 50px #0c222b30;padding:30px}.drawer-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:25px}.drawer h2{margin:26px 0 12px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-row{padding:12px 0;border-bottom:1px solid var(--line)}.detail-row strong{color:#2b464d}.modal-overlay{justify-content:center;align-items:center;padding:14px}.modal{background:white;border-radius:17px;max-height:92vh;overflow-y:auto;width:min(600px,100%);box-shadow:0 20px 80px #092a3640;padding:25px}.modal header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.close{border:0;background:#f0f5f5;border-radius:9px;width:34px;height:34px;font-size:20px;line-height:1}.field{display:grid;gap:6px;margin-bottom:14px;min-width:0}.field label{font-size:12px;color:#546c76;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #d9e2e6;background:#fff;border-radius:9px;padding:11px;color:#1c333d;min-width:0}.field textarea{min-height:76px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.alert{padding:11px 14px;border-radius:9px;background:#fdefee;color:#a23e42;margin-bottom:15px}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-left{padding:12%;background:#0e3742;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-left h1{font-size:clamp(37px,4vw,58px);line-height:1.09;max-width:540px;margin-bottom:22px}.login-left p{color:#b6d4d9;max-width:500px;font-size:16px}.login-right{display:grid;place-items:center;padding:25px}.login-card{max-width:400px;width:100%}.login-card h2{font-size:27px;margin-bottom:7px}.login-card .field{margin-top:22px}.login-card .field+.field{margin-top:0}.login-card button{width:100%;margin-top:8px}.login-left .brand{padding:0}.login-footer{font-size:12px;color:#86aeb9}.langbutton{padding:7px 12px;border:1px solid #d7e5e2;background:#fff;border-radius:8px;color:#236a63;font-weight:700}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tag{padding:3px 7px;background:#e8f1f6;border-radius:6px;font-size:11px;color:#496879}.statusline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.barchart{display:grid;gap:12px}.barrow{display:grid;grid-template-columns:90px 1fr 90px;gap:11px;align-items:center}.barrow progress{height:18px;width:100%;accent-color:#0c8b80}.loading-screen{height:100vh;display:grid;place-content:center;font-size:25px;font-weight:800;gap:16px}.spin{display:inline-block;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.3}}#toast{position:fixed;z-index:99;bottom:23px;inset-inline-end:24px;background:#123943;color:white;border-radius:10px;padding:12px 18px;display:none;box-shadow:var(--shadow);max-width:350px}#toast.show{display:block}.info{font-size:12px;color:#7b8d96;margin-top:10px}.view-note{border:1px solid #dfebe6;background:#fbfdfa;border-radius:10px;padding:13px;margin:10px 0}.rightalign{text-align:end}.mb{margin-bottom:18px}.switcher{display:flex;gap:7px;align-items:center}.w100{width:100%}
html[dir=rtl] .search{padding:12px 39px 12px 15px}html[dir=rtl] .nav button{text-align:right}html[dir=rtl] .tablewrap table{text-align:right}html[dir=rtl] .tablebtn{text-align:right}html[dir=rtl] .quick{text-align:right}html[dir=rtl] .side{font-family:Tahoma,Arial,sans-serif}
@media(max-width:1160px){.side{width:209px}.content{padding:27px 24px}.top{padding:0 24px}.stats{gap:10px}.stat{padding:18px}.stat .value{font-size:25px}}
@media(max-width:860px){.side{width:70px;padding:20px 7px}.brand{padding:0 9px 20px}.brandtext,.nav-label,.nav .navtext,.sidefoot{display:none}.nav button{justify-content:center;padding:14px 6px}.nav .ico{font-size:23px;width:auto}.top{height:66px}.two,.settings-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:570px){.app{display:block;padding-bottom:66px}.side{position:fixed;bottom:0;top:auto;left:0;right:0;width:100%;height:65px;padding:5px;background:#103541;z-index:20;flex-direction:row}.brand,.sidefoot,.nav-label{display:none}.side nav{width:100%}.nav{display:flex;justify-content:space-around;overflow-x:auto;gap:0;scrollbar-width:none}.nav button{min-width:58px;flex-direction:column;gap:2px;padding:6px 3px;font-size:9px;min-height:53px}.nav .navtext{display:block;font-size:9px}.nav .ico{font-size:20px}.main{width:100%}.top{padding:0 16px}.topright small{display:none}.content{padding:23px 15px}.heading{align-items:flex-start}.heading h1{font-size:23px}.heading .btn{padding:8px}.stats{gap:9px}.stat{min-height:110px;padding:16px}.stat .value{font-size:23px}.panel{padding:16px}.split{grid-template-columns:1fr}.grid-quick{grid-template-columns:repeat(3,1fr);gap:7px}.quick{padding:12px;min-height:92px;font-size:12px}.drawer{padding:21px}.modal{padding:19px}.login-wrap{grid-template-columns:1fr}.login-left{min-height:unset;padding:25px}.login-left h1,.login-left p,.login-footer{display:none}.login-right{min-height:75vh;align-items:start;padding-top:12vh}.field input,.field select,.field textarea{font-size:16px}.barrow{grid-template-columns:75px 1fr 70px}}

@media(max-width:570px){.tablewrap table{min-width:560px}.stat .value bdi{unicode-bidi:isolate;direction:ltr;display:inline-block;font-size:22px}}

.section-spaced{margin-top:24px}

/* Visible but compact public-preview role controls; not authentication. */
.preview-switch{position:fixed;bottom:14px;inset-inline-end:14px;z-index:10000;border:1px solid #26716e;border-radius:13px;background:#0c353d;color:white;box-shadow:0 8px 24px #0003;font:600 12px/1.4 system-ui,sans-serif;direction:ltr;max-width:calc(100vw - 24px)}
.preview-switch summary{padding:11px 16px;cursor:pointer;list-style-position:inside;white-space:nowrap}
.preview-switch summary:hover{color:#9beddd}
.preview-controls{display:grid;gap:8px;padding:0 10px 12px}
.preview-controls a,.preview-controls button{background:#164a51;color:white;border:1px solid #48777a;padding:9px 12px;border-radius:8px;font:inherit;text-decoration:none;cursor:pointer;text-align:start}
.preview-controls a.current{background:#bcefe1;color:#073c3c;border-color:#bcefe1}
.preview-controls a:hover,.preview-controls button:hover{border-color:white}
@media(max-width:650px){.content{padding-bottom:95px!important}.preview-switch{bottom:9px;inset-inline-end:9px}.preview-switch summary{padding:10px 13px;font-size:11px}}
