:root{--blue: #0b5fff;--teal: #0e9f8a;--ink: #0f1b2d;--navy: #101c3d;--navy-deep: #0a1230;--orange: #ff7a1a;--orange-deep: #e85d00;--muted: #5b6b82;--bg: #f4f7fb;--card: #ffffff;--danger: #d64545;--warn: #b7791f;--ok: #157f3d;--radius: 12px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--blue)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy-deep),var(--navy) 35%,var(--orange-deep) 78%,var(--orange));background-size:300% 300%;animation:authGradient 14s ease infinite}@keyframes authGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.auth-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;animation:orbFloat 9s ease-in-out infinite}.auth-orb.orb-1{width:340px;height:340px;left:-80px;top:-80px;background:radial-gradient(circle at 30% 30%,#2b3f7a,var(--navy-deep) 70%);opacity:.85}.auth-orb.orb-2{width:420px;height:420px;right:-120px;bottom:-140px;background:radial-gradient(circle at 60% 40%,#ffc38f,var(--orange) 55%,var(--orange-deep) 75%);animation-delay:-3s;opacity:.65}.auth-orb.orb-3{width:220px;height:220px;right:12%;top:8%;background:radial-gradient(circle at 50% 50%,#ffe3c2,var(--orange) 75%);opacity:.5;animation-delay:-6s}@keyframes orbFloat{0%,to{transform:translateY(0) translate(0) scale(1)}33%{transform:translateY(-28px) translate(18px) scale(1.06)}66%{transform:translateY(18px) translate(-16px) scale(.96)}}.auth-card{position:relative;z-index:1;background:#ffffff1f;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border:1px solid rgba(255,255,255,.35);border-radius:22px;padding:32px;width:100%;max-width:440px;color:#fff;box-shadow:0 24px 70px #04081c80,0 2px #ffffff40 inset;animation:cardFloat 6s ease-in-out infinite,rise .5s ease-out}.auth-card .muted{color:#ffffffbf}.auth-lang{display:flex;justify-content:flex-end;margin-bottom:10px}.auth-lang .lang-switch{width:110px;background:#ffffff1a;border:1px solid rgba(255,255,255,.25)}.auth-lang .lang-switch button{color:#ffffffb3}.auth-lang .lang-switch button:hover{color:#fff}.auth-card a{color:#ffd9ae}.auth-card .banner.info{background:#ffffff24;border-color:#ffffff59;color:#fff}.auth-card .error{background:#d6454533;border-color:#ffffff4d;color:#ffe1e1}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rise{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-card .field,.auth-card .tabs,.auth-card .brand{animation:fieldIn .5s ease-out backwards}.auth-card .tabs{animation-delay:.08s}.auth-card .field:nth-of-type(1){animation-delay:.12s}.auth-card .field:nth-of-type(2){animation-delay:.18s}.auth-card .field:nth-of-type(3){animation-delay:.24s}@keyframes fieldIn{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:0 8px 22px #ff7a1a80;animation:brandPulse 3s ease-in-out infinite}@keyframes brandPulse{0%,to{transform:scale(1) rotate(0);box-shadow:0 8px 22px #ff7a1a80}50%{transform:scale(1.07) rotate(-3deg);box-shadow:0 12px 30px #ff7a1ab3}}.tabs{display:flex;gap:8px;margin:16px 0;background:#ffffff1f;padding:5px;border-radius:14px;border:1px solid rgba(255,255,255,.18)}.tabs button{flex:1;padding:10px;border-radius:10px;border:1px solid transparent;background:transparent;color:#fffc;cursor:pointer;font-weight:600;transition:all .25s ease}.tabs button:hover{background:#ffffff2e;color:#fff;transform:translateY(-1px)}.tabs button.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;border-color:transparent;box-shadow:0 6px 16px #ff7a1a73;transform:translateY(-1px)}.field{margin-bottom:12px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#ffffffe6}.field input,.field select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.4);font-size:15px;background:#ffffff26;color:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}.field input::placeholder{color:#ffffff8c}.field input:focus,.field select:focus{outline:none;border-color:var(--orange);background:#ffffff38;box-shadow:0 0 0 4px #ff7a1a40;transform:translateY(-1px)}.btn{position:relative;overflow:hidden;width:100%;padding:12px;border-radius:12px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;font-weight:700;font-size:15px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 24px #ff7a1a73}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px #ff7a1a8c}.btn:active:not(:disabled){transform:translateY(0)}.btn:after{content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:btnShine 3.2s ease-in-out infinite}@keyframes btnShine{0%{left:-80%}55%,to{left:130%}}.field input[type=checkbox]{width:auto;margin-right:8px;accent-color:var(--orange)}.mood-face{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 14px;padding:10px 14px;border-radius:14px;font-size:14px;font-weight:700;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:moodPop .45s cubic-bezier(.34,1.56,.64,1)}.mood-face.happy{background:#157f3d40;color:#d8ffe4}.mood-face.sad{background:#d6454540;color:#ffe1e1;animation:moodShake .45s ease}.mood-emoji{font-size:30px;line-height:1;display:inline-block;animation:emojiBounce .9s ease-in-out infinite}@keyframes moodPop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes emojiBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.12)}}@keyframes moodShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.btn:disabled{opacity:.6;cursor:wait}.btn:disabled:after{animation:none}.btn.secondary{background:#eef3fa;color:var(--ink)}.error{background:#fdecec;color:#8f1d1d;border:1px solid #f3b8b8;padding:10px 12px;border-radius:10px;font-size:14px;margin-bottom:12px}.muted{color:var(--muted);font-size:13px}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:linear-gradient(160deg,#f6f2ec,#eef1f8)}.sidebar{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 55%,#1a2547 100%);color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:6px;border-right:1px solid rgba(255,255,255,.12);box-shadow:8px 0 30px #0a123040}.sidebar:before{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.35),transparent 70%);filter:blur(10px);pointer-events:none;animation:orbFloat 9s ease-in-out infinite}.sidebar:after{content:"";position:absolute;width:220px;height:220px;left:-80px;bottom:-60px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.18),transparent 70%);pointer-events:none}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 16px;font-weight:800;font-size:17px;letter-spacing:.01em;position:relative;z-index:1}.sidebar-brand .brand-mark{width:38px;height:38px;font-size:18px;border-radius:12px;animation:brandPulse 3s ease-in-out infinite}.sidebar-brand small{display:block;font-size:11px;font-weight:500;color:#fff9}.sidebar a{position:relative;z-index:1;color:#ffffffc7;text-decoration:none;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:500;border:1px solid transparent;transition:all .22s ease}.sidebar a:hover{background:#ffffff1a;color:#fff;transform:translate(4px);border-color:#ffffff1f}.sidebar a.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;font-weight:700;box-shadow:0 8px 20px #ff7a1a66;transform:translate(4px)}.sidebar-user{position:relative;z-index:1;margin-top:auto;padding:12px;font-size:12px;color:#ffffffbf;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sidebar-user .role-pill{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#ff7a1a33;border:1px solid rgba(255,122,26,.5);color:#ffcf9e}.sidebar-user .small-btn{margin-top:10px;width:100%;background:transparent;color:#ffd9ae;border-color:#ff7a1a99;transition:all .2s ease}.sidebar-user .small-btn:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.lang-switch{display:flex;gap:4px;margin-top:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:3px}.lang-switch button{flex:1;padding:5px 0;border-radius:7px;border:none;cursor:pointer;background:transparent;color:#ffffffa6;font-size:11px;font-weight:800;transition:all .2s ease}.lang-switch button:hover{color:#fff}.lang-switch button.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff}.lang-pick{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.lang-pick button{flex:1;min-width:180px;padding:14px;border-radius:14px;cursor:pointer;background:#101c3d0a;color:var(--navy);border:2px solid rgba(16,28,61,.12);font-size:14px;font-weight:700;transition:all .22s ease}.lang-pick button:hover{transform:translateY(-2px);border-color:var(--orange);box-shadow:0 8px 20px #ff7a1a33}.lang-pick button.active{background:linear-gradient(135deg,var(--navy),#1a2547);color:#fff;border-color:var(--orange);box-shadow:0 10px 24px #0a12304d}.lang-pick .lang-code{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;margin-right:6px;background:#ff7a1a26;border:1px solid var(--orange);color:var(--orange-deep)}.lang-pick button.active .lang-code{background:var(--orange);color:#fff;border-color:var(--orange)}.main{padding:24px;max-width:1100px;width:100%;animation:pageIn .4s ease-out}@keyframes pageIn{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px;background:#ffffffa6;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:14px 18px;box-shadow:0 10px 30px #0a12301a;animation:floatIn .45s ease-out backwards}.topbar h1{font-size:20px;background:linear-gradient(135deg,var(--navy),var(--orange-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.card{background:#ffffffb3;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:16px;box-shadow:0 12px 32px #0a12301f;transition:transform .22s ease,box-shadow .22s ease;animation:floatIn .45s ease-out backwards}.cards .card:nth-child(2){animation-delay:.06s}.cards .card:nth-child(3){animation-delay:.12s}.cards .card:nth-child(4){animation-delay:.18s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0a12302e}button.card.stat-link{cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}button.card.stat-link:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:0 18px 40px #ff7a1a40}button.card.stat-link:active{transform:translateY(0)}section[id^=admin-]{scroll-margin-top:16px;border-radius:16px}section.flash{animation:flashGlow 1.6s ease}.blink-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#94a3b8;margin-right:7px;vertical-align:baseline}.blink-dot.on{background:#22c55e;animation:blinkPulse 1.6s ease-out infinite}@keyframes blinkPulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 9px #22c55e00}to{box-shadow:0 0 #22c55e00}}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#94a3b8;margin-left:7px;vertical-align:middle}.online-dot.on{background:#22c55e;animation:blinkPulse 1.6s ease-out infinite}@keyframes flashGlow{0%,to{box-shadow:none}30%{box-shadow:0 0 0 3px #ff7a1a99,0 12px 32px #ff7a1a40}}.card h3{margin:0 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.card .big{font-size:28px;font-weight:800;background:linear-gradient(135deg,var(--navy),var(--orange-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.table{width:100%;border-collapse:collapse;background:#ffffffb3;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.7);border-radius:16px;overflow:hidden;box-shadow:0 12px 32px #0a12301f;animation:floatIn .5s ease-out backwards}@keyframes floatIn{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.table th,.table td{padding:10px 12px;border-bottom:1px solid rgba(16,28,61,.08);text-align:left;font-size:14px}.table thead th{background:linear-gradient(135deg,#101c3d0f,#ff7a1a1a);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}.chat-box{max-height:46vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:14px;white-space:pre-wrap;word-break:break-word}.chat-msg.user .chat-bubble{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;border-bottom-right-radius:4px}.ai-page{position:relative;overflow:hidden;border-radius:22px;padding:22px;background:linear-gradient(140deg,var(--navy-deep),var(--navy) 55%,#2a1a4d 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px #0a123059}.ai-page:before{content:"";position:absolute;width:300px;height:300px;right:-100px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.3),transparent 70%);pointer-events:none}.ai-page:after{content:"";position:absolute;width:240px;height:240px;left:-90px;bottom:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.16),transparent 70%);pointer-events:none}.ai-page>*{position:relative;z-index:1}.ai-page{color:#fff}.ai-page .topbar{background:#ffffff14;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px #00000059}.ai-page .topbar .muted{color:#ffffffb3}.ai-page .card{background:#ffffff14;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 32px #00000059;color:#fff}.ai-page .muted{color:#ffffffb3}.ai-page .field label{color:#ffffffe6}.ai-page .field input,.ai-page .field select{background:#ffffff1f;border-color:#ffffff4d;color:#fff;color-scheme:dark}.ai-page .field input::placeholder{color:#ffffff80}.ai-page .field select option{color:#0f1b2d}.ai-page .field input:focus,.ai-page .field select:focus{outline:none;border-color:var(--orange);background:#ffffff2e;box-shadow:0 0 0 4px #ff7a1a40}.ai-page .filters input,.ai-page .filters select{background:#ffffff1f;border-color:#ffffff4d;color:#fff;color-scheme:dark}.ai-page .filters input::placeholder{color:#ffffff80}.ai-page .seg-tabs button{background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#fffc;box-shadow:none}.ai-page .seg-tabs button:hover{border-color:var(--orange);color:#fff}.ai-page .seg-tabs button.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));border-color:transparent;color:#fff}.ai-page .seg-tabs .seg-count{background:#ffffff1f;border-color:#ffffff4d;color:#ffcf9e}.ai-page .seg-tabs button.active .seg-count{background:#ffffff40;border-color:transparent;color:#fff}.ai-page .small-btn:not(.primary){background:transparent;border-color:#ff7a1a99;color:#ffd9ae}.ai-page .small-btn:not(.primary):hover{background:var(--orange);border-color:var(--orange);color:#fff}.ai-page .banner.info{background:#ffffff1a;border-color:#ffffff40;color:#fff}.ai-page .error{background:#d6454540;border-color:#ffffff4d;color:#ffe1e1}.ai-page .picker-btn{background:#ffffff1f;border-color:#ffffff4d;color:#fff}.ai-page .preset-btn{color:#ffffffd9}.ai-page .check-row{background:#ffffff14;border-color:#ffffff29;color:#fff}.ai-page .topbar h1{background:linear-gradient(135deg,#fff,#ffcf9e);-webkit-background-clip:text;background-clip:text;color:transparent}.ai-page>.muted{color:#ffffffb3}.ai-page .chat-msg.assistant .chat-bubble{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff}.picker-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:190px;overflow-y:auto}.picker-wrap{position:relative}.picker-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-radius:10px;border:1px solid rgba(16,28,61,.15);background:#ffffffd9;color:var(--navy);font-size:15px;cursor:pointer;transition:all .2s ease}.picker-btn:hover{border-color:var(--orange);box-shadow:0 0 0 3px #ff7a1a33}.picker-chev{color:var(--orange);font-size:16px}.picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:transparent}.picker-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:61;background:linear-gradient(150deg,#101c3df7,#1a2547f2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:10px;box-shadow:0 20px 50px #00000073;animation:moodPop .2s cubic-bezier(.34,1.56,.64,1)}.picker-pop input{width:100%;padding:9px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.3);background:#ffffff1f;color:#fff;font-size:14px}.picker-pop input::placeholder{color:#ffffff80}.picker-pop input:focus{outline:none;border-color:var(--orange)}.picker-pop .picker-list{max-height:200px}.picker-pop .picker-item{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#fff}.picker-pop .picker-item:hover{background:#ff7a1a40;transform:none}.picker-pop .picker-item.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));border-color:transparent}.picker-pop .picker-item small{opacity:.65}.picker-pop .muted{color:#fff9}.picker-item{text-align:left;cursor:pointer;padding:9px 12px;border-radius:10px;background:#ffffffb3;border:1px solid rgba(16,28,61,.15);transition:all .18s ease}.picker-item:hover{transform:translate(3px);border-color:var(--orange)}.picker-item.active{background:linear-gradient(135deg,var(--navy),#1a2547);color:#fff;border-color:var(--orange)}.picker-item strong{display:block;font-size:14px}.picker-item small{display:block;font-size:12px;opacity:.7}.chat-msg.assistant .chat-bubble{background:#101c3d0f;border:1px solid rgba(16,28,61,.1);border-bottom-left-radius:4px}.seg-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.seg-tabs button{flex:1;min-width:120px;padding:11px 10px;border-radius:14px;border:1px solid rgba(16,28,61,.15);background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;font-size:14px;font-weight:700;color:var(--navy);transition:all .2s ease;box-shadow:0 4px 14px #0a123014}.seg-tabs button:hover{transform:translateY(-2px);border-color:var(--orange)}.seg-tabs button.active{background:linear-gradient(135deg,var(--navy),#1a2547);color:#fff;border-color:var(--orange);box-shadow:0 8px 22px #0a12304d}.seg-count{display:inline-block;min-width:26px;padding:2px 8px;margin-left:6px;border-radius:999px;font-size:12px;background:#ff7a1a26;border:1px solid rgba(255,122,26,.5);color:var(--orange-deep)}.seg-tabs button.active .seg-count{background:var(--orange);border-color:var(--orange);color:#fff}.time-big{font-size:19px;font-weight:800;color:var(--navy);letter-spacing:.02em}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}@media (max-width: 760px){.summary-grid{grid-template-columns:1fr}}.mini-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.mini-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#101c3d0a;border:1px solid rgba(16,28,61,.08);font-size:13px}.bar-row{margin-top:12px}.bar-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:14px}.bar-stack{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#101c3d14}.bar-stack .seg{min-width:4px}.bar-stack .seg.overdue{background:#d64545}.bar-stack .seg.due{background:var(--orange)}.bar-stack .seg.scheduled{background:#94a3b8}.bar-stack .seg.administered{background:#157f3d}.bar-counts{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;font-size:12px}.table tbody tr{transition:background .18s ease,transform .18s ease}.table tbody tr:hover{background:#ff7a1a14}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill.due{background:#e8f0ff;color:#0b5fff}.pill.overdue{background:#fdecec;color:#b42323}.pill.scheduled{background:#eef2f7;color:#475569}.pill.administered{background:#e6f6ec;color:#157f3d}.pill.refused,.pill.withheld,.pill.not_administered{background:#fff4d6;color:#8a5a00}.banner{padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px}.banner.warn{background:#fff4d6;border:1px solid #ecd28a;color:#6b4a00}.banner.info{background:#e8f0ff;border:1px solid #b9cdf5;color:#1e3f8f}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0a12308c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlayIn .25s ease-out}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal-glass{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:linear-gradient(150deg,#101c3deb,#1a2547e0);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:26px;color:#fff;box-shadow:0 30px 80px #00000080,0 2px #ffffff26 inset;animation:modalFloat .4s cubic-bezier(.34,1.4,.64,1)}@keyframes modalFloat{0%{transform:translateY(26px) scale(.96);opacity:0}to{transform:none;opacity:1}}.modal-glass .muted{color:#ffffffb3}.modal-glass .field label{color:#ffffffe6}.modal-glass .field input,.modal-glass .field select{background:#ffffff1f;border-color:#ffffff4d;color:#fff;color-scheme:dark}.modal-glass .field input::placeholder{color:#ffffff80}.modal-glass .field select option{color:#0f1b2d}.modal-glass .field input:focus,.modal-glass .field select:focus{outline:none;border-color:var(--orange);background:#ffffff2e;box-shadow:0 0 0 4px #ff7a1a40}.modal-glass .error{background:#d6454540;border-color:#ffffff4d;color:#ffe1e1}.modal-wide{max-width:640px}.modal-glass h3{margin:16px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#ffcf9e}.modal-glass h3:first-of-type{margin-top:0}.mini-table{width:100%;border-collapse:collapse;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:12px;overflow:hidden;font-size:13px}.mini-table th,.mini-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.mini-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#ffffffa6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}}.preset-row{display:flex;gap:8px}.preset-btn{flex:1;padding:9px 0;border-radius:10px;cursor:pointer;font-weight:700;font-size:13px;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.25);transition:all .2s ease}.preset-btn:hover{background:#fff3;transform:translateY(-1px)}.preset-btn.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));border-color:transparent;color:#fff;box-shadow:0 6px 16px #ff7a1a66}.check-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13px}.check-row input{margin-top:2px;accent-color:var(--orange)}.menu-btn{width:30px;height:30px;border-radius:50%;cursor:pointer;border:1px solid rgba(16,28,61,.15);background:#ffffffd9;font-size:16px;font-weight:800;line-height:1;color:var(--navy);transition:all .2s ease}.menu-btn:hover{background:var(--navy);color:#fff;transform:scale(1.08)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:transparent}.menu-dropdown{position:fixed;z-index:61;width:210px;background:linear-gradient(150deg,#101c3df5,#1a2547f0);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:6px;box-shadow:0 20px 50px #00000073;animation:moodPop .2s cubic-bezier(.34,1.56,.64,1)}.menu-title{padding:8px 10px 6px;font-size:12px;font-weight:700;color:#ffcf9e;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-dropdown button{display:block;width:100%;text-align:left;cursor:pointer;background:transparent;border:none;color:#fff;padding:9px 10px;border-radius:9px;font-size:13px;font-weight:600;transition:background .15s ease}.menu-dropdown button:hover{background:#ff7a1a40}.stat-row{display:flex;gap:8px;margin-bottom:12px}.stat-chip{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:8px 4px}.stat-chip strong{font-size:20px;color:#ffcf9e}.stat-chip span{font-size:11px;color:#ffffffa6}.detail-tabs{display:flex;gap:6px;margin-bottom:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);padding:4px;border-radius:12px}.detail-tabs button{flex:1;padding:8px 4px;border-radius:9px;border:none;cursor:pointer;background:transparent;color:#ffffffb3;font-size:12px;font-weight:700;transition:all .2s ease}.detail-tabs button:hover{background:#ffffff1f;color:#fff}.detail-tabs button.active{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;box-shadow:0 4px 14px #ff7a1a66}.progress-float{display:flex;justify-content:center;padding:26px 0;animation:progressBob 2.2s ease-in-out infinite}@keyframes progressBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.caps-row{--cap-dark: #101c3d;display:flex;align-items:center;gap:12px;padding:16px 0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.real-pill{height:38px;width:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:medBob 1.2s ease-in-out infinite}.real-pill:nth-child(2){height:33px;animation-delay:.15s}.real-pill:nth-child(3){height:31px;animation-delay:.3s}.real-pill:nth-child(4){height:33px;animation-delay:.45s}@keyframes medBob{0%,to{transform:translateY(0) scale(1);opacity:.6;filter:drop-shadow(0 4px 6px rgba(10,18,48,.25))}50%{transform:translateY(-9px) scale(1.07);opacity:1;filter:drop-shadow(0 0 12px rgba(255,122,26,.6))}}.real-pill:nth-child(2){height:26px;animation-delay:.12s}@keyframes capWave{0%,to{transform:translateY(0) scale(1);opacity:.45}50%{transform:translateY(-7px) scale(1.12);opacity:1;filter:drop-shadow(0 0 12px rgba(255,122,26,.85))}}.btn-caps{display:inline-flex;align-items:center;gap:8px}.btn-caps>img{display:block;height:14px;width:auto;animation:btnBob 1s ease-in-out infinite}.btn-caps>img:nth-child(2){animation-delay:.15s}.btn-caps>img:nth-child(3){animation-delay:.3s}@keyframes btnBob{0%,to{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-3px) scale(1.1);opacity:1;filter:drop-shadow(0 0 6px rgba(255,255,255,.95))}}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.modal-head h2{font-size:19px;background:linear-gradient(135deg,#fff,#ffcf9e);-webkit-background-clip:text;background-clip:text;color:transparent}.modal-close{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;cursor:pointer;font-size:14px;transition:all .2s ease}.modal-close:hover{background:var(--orange);border-color:var(--orange);transform:rotate(90deg)}.small-btn{padding:6px 10px;border-radius:8px;border:1px solid #cbd6e6;background:#ffffffd9;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.small-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0a123026}.small-btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;border-color:transparent;box-shadow:0 6px 16px #ff7a1a59}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters select,.filters input,.topbar input,.topbar select{padding:8px 10px;border-radius:10px;border:1px solid rgba(16,28,61,.15);background:#ffffffd9;transition:all .2s ease}.filters select:focus,.filters input:focus,.topbar input:focus,.topbar select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px #ff7a1a33}@media (max-width: 760px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}.main{padding:16px}}.nurse-page{max-width:720px}.nurse-hero{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#ffffffb3;border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:14px 18px;margin-bottom:12px;box-shadow:0 10px 30px #0a12301a}.nurse-hero h1{font-size:22px}.nurse-count-banner{padding:14px 18px;border-radius:14px;font-size:17px;font-weight:800;margin-bottom:12px;border:1px solid transparent}.nurse-count-banner.alert{background:#fdecec;border-color:#f3b8b8;color:#8f1d1d;animation:nursePulse 2s ease-in-out infinite}.nurse-count-banner.ok{background:#e6f6ec;border-color:#a9dfc0;color:#157f3d}@keyframes nursePulse{0%,to{box-shadow:0 0 #d6454559}50%{box-shadow:0 0 0 8px #d6454500}}.nurse-search input{width:100%;font-size:16px;padding:12px 14px}.nurse-tabs button{font-size:15px;padding:13px 10px}.give-list{display:flex;flex-direction:column;gap:12px}.give-card{background:#fff;border-radius:16px;padding:16px;border:2px solid #e2e8f0;box-shadow:0 8px 24px #0a12301a}.give-card.overdue{border-color:#d64545;background:#fff7f7}.give-card.due{border-color:#ff7a1a}.give-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.give-patient strong{font-size:18px;display:block}.give-patient .muted{font-size:13px}.give-med{font-size:16px;font-weight:600;margin:4px 0}.give-time{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.give-time .time-big{font-size:22px}.give-actions{display:flex;gap:10px}.give-btn{flex:1;padding:14px;border-radius:12px;font-size:17px;font-weight:800;border:2px solid #cbd6e6;background:#f1f5f9;cursor:pointer;text-align:center;text-decoration:none;color:var(--ink);display:inline-block}.give-btn.primary{background:linear-gradient(135deg,#157f3d,#0f6a32);color:#fff;border-color:transparent}.give-btn.link{flex:.6;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;border-color:transparent}.give-btn:disabled{opacity:.6}.seen-link{background:none;border:none;color:var(--muted);font-size:12px;margin-top:8px;cursor:pointer;text-decoration:underline}.nurse-empty{font-size:16px;text-align:center;padding:28px}.nurse-done-banner{font-size:15px;font-weight:700}.nurse-cta{display:block;text-align:center;font-size:17px;padding:14px;margin-top:14px;text-decoration:none}.give-now-link{font-weight:800!important}.sound-toggle{width:100%;padding:13px;border-radius:12px;font-size:15px;font-weight:800;border:2px dashed #94a3b8;background:#f8fafc;cursor:pointer;margin-bottom:4px}.sound-toggle.on{border-style:solid;border-color:#157f3d;background:#e6f6ec;color:#157f3d}.sound-pick{margin:4px 0 8px}.sound-pick .preset-row{margin-top:6px}.sound-pick .preset-btn{font-size:13px}.sound-select{width:100%;padding:14px;border-radius:12px;font-size:17px;font-weight:700;border:2px solid var(--orange);background:#fff;color:var(--ink);cursor:pointer}.allergy-badge{background:#fdecec;border:1px solid #f3b8b8;color:#8f1d1d;font-size:13px;font-weight:700;border-radius:8px;padding:6px 10px;margin:6px 0}.allergy-badge.big{font-size:14px}.health-box{background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px;margin-bottom:12px}.health-box h3{margin:0 0 8px}.cabinet .health-box .field label{color:#ffffffe6}.med-row{background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 12px;margin-bottom:8px;font-size:14px}.add-drug-box{margin-top:12px;padding:14px;border-radius:14px;background:#ffffff0f;border:1px dashed rgba(255,255,255,.3)}.add-drug-box h3{margin-top:0}.skip-reasons{margin-top:8px;padding:8px;border-radius:10px;background:#101c3d0d}.give-card.light{background:#ffffff1a;border-color:#fff3}.give-card.light .give-med{font-size:15px}.patient-card{border-left-width:6px}.simple-med-form .sched-row .preset-btn{font-size:12px}.simple-med-form input,.simple-med-form select{width:100%;padding:12px;border-radius:10px;font-size:16px}.dose-progress{margin-top:10px}.dose-progress-top{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#ffffffd9}.dose-progress-top strong{color:#ffcf9e}.dose-progress-top .remain strong{color:#7dffb0}.dose-bar{height:8px;border-radius:999px;background:#ffffff26;overflow:hidden;margin:6px 0}.dose-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#22c55e);border-radius:999px;transition:width .3s ease}.alarm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:20px;background:#8f1d1dd1;animation:alarmFlash 1s steps(2,start) infinite}@keyframes alarmFlash{0%,to{background:#8f1d1de0}50%{background:#d64545a6}}.alarm-card{width:100%;max-width:440px;text-align:center;background:#fff;border-radius:22px;padding:28px 24px;border:4px solid #d64545;box-shadow:0 30px 80px #00000080;animation:alarmShake .6s ease-in-out infinite}@keyframes alarmShake{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-1deg) scale(1.01)}75%{transform:rotate(1deg) scale(1.01)}}.alarm-bell{font-size:52px;animation:alarmBounce .8s ease-in-out infinite}@keyframes alarmBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.15)}}.alarm-card h1{color:#8f1d1d;font-size:30px;margin:8px 0}.alarm-patient{font-size:22px;font-weight:800}.alarm-med{font-size:18px;font-weight:600;margin-top:4px}.alarm-count{font-weight:800;color:#8f1d1d;margin-top:6px}.alarm-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.alarm-btn{padding:16px;border-radius:14px;font-size:19px;font-weight:800;cursor:pointer;border:2px solid #cbd6e6;background:#f1f5f9;color:var(--ink)}.alarm-btn.primary{background:linear-gradient(135deg,#157f3d,#0f6a32);color:#fff;border-color:transparent}.alarm-btn.quiet{font-size:14px;padding:10px;background:transparent}.alarm-note{margin-top:12px;font-size:12px}
