:root{--bg: #0b1120;--panel: #111a2e;--panel-2: #1a2540;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;font-family:Segoe UI,Roboto,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:2rem}.grow{flex:1}.nowrap{white-space:nowrap}.mono{font-family:Consolas,Courier New,monospace;letter-spacing:.1em;text-transform:uppercase}.error{color:#f87171;min-height:1em}.link{background:none;border:0;color:var(--accent);padding:0;text-decoration:none}.photo-initials{display:inline-grid;place-items:center;font-weight:700;background:#334155;color:#cbd5e1}.demo-tag{position:fixed;right:1rem;bottom:1rem;padding:.2rem .6rem;border-radius:6px;background:#f59e0b;color:#111;font-weight:700;font-size:.75rem}.demo-tag.inline{position:static}.landing main{max-width:480px;margin:15vh auto;text-align:center}.landing nav{display:grid;gap:.75rem;margin-top:2rem}.landing a{padding:1rem;border-radius:12px;background:var(--panel-2);color:var(--text);text-decoration:none;font-weight:600}.display{overflow:hidden;height:100vh;font-size:1vw}.display #app{height:100vh;display:flex}.hero{position:relative;flex:1;overflow:hidden;background:linear-gradient(160deg,#3b5b8c,#1e3a5f 55%,#0f1f36) center / cover no-repeat}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgb(0 0 0 / .75) 0%,rgb(0 0 0 / .2) 45%,transparent 70%)}.logo{position:absolute;z-index:1;top:4.5vh;left:3.5vw;height:9vh;max-width:22vw;background:#fff;padding:1.6vh 1.8vw;border-radius:.8vw;object-fit:contain;box-shadow:0 .5vw 2vw #0000004d}.hero-text{position:absolute;z-index:1;left:3.5vw;right:3vw;bottom:8vh;color:#fff}.welcome{margin:0 0 1.2vh;font-size:1.1em;font-weight:600;letter-spacing:.35em;text-transform:uppercase;opacity:.85}.welcome:before{content:"";display:inline-block;width:3vw;height:.15vw;background:currentColor;vertical-align:middle;margin-right:1vw}.hero-text h1{margin:0;font-size:6.2em;line-height:1.05;font-weight:700;letter-spacing:-.01em;text-shadow:0 .3vw 1.5vw rgb(0 0 0 / .35)}.role{margin:1.5vh 0 0;font-size:2em;opacity:.9}.status{width:31vw;display:flex;flex-direction:column;align-items:center;color:#fff;padding:5vh 2.5vw 4vh;transition:background-color .6s ease}.when{align-self:flex-end;text-align:right;display:flex;flex-direction:column}.time{font-size:2.2em;font-weight:600;font-variant-numeric:tabular-nums}.date{font-size:1.2em;opacity:.85}.status-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.status-icon{width:9vw;height:9vw;padding:1.6vw;border-radius:50%;background:#ffffff38;box-shadow:0 0 0 .9vw #ffffff1a;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.status-main h2{margin:4vh 0 1.5vh;font-size:4.4em;font-weight:700}.status-main p{margin:0;font-size:1.6em;opacity:.9;max-width:20em}.current{margin:0;font-size:1em;font-weight:600;letter-spacing:.3em;text-transform:uppercase;opacity:.75}.offline{position:fixed;left:2vw;top:2vh;background:#7f1d1d;color:#fee2e2;padding:.5em 1.2em;border-radius:999px;font-size:1.2em}.pairing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:1.6em}.pairing h1{margin:.3em 0}.pairing-code{font-family:Consolas,monospace;font-size:5em;letter-spacing:.15em;font-weight:700;background:var(--panel);border-radius:.2em;padding:.15em .5em;margin:.2em 0 .4em}.control{font-size:18px}.control-header{position:sticky;top:0;z-index:1;display:flex;gap:1rem;align-items:center;padding:1rem;background:var(--bg);border-bottom:1px solid var(--panel-2)}.control-header input{flex:1;padding:.8rem;border-radius:10px;border:0;background:var(--panel-2)}.lawyer-list{display:grid;gap:.75rem;padding:1rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.lawyer-row{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem;background:var(--panel);border-radius:14px}.lawyer-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.lawyer-info small{color:var(--muted)}.toggle{border:0;border-radius:12px;background:var(--status);color:#fff;padding:.7rem 1.1rem;display:flex;flex-direction:column;align-items:center;min-width:9rem;transition:background-color .3s}.toggle-state{font-weight:700;font-size:1.1rem}.toggle-hint{font-size:.7rem;opacity:.85}.toggle:disabled{opacity:.6}.single{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center}.single h1{margin:0}.toggle.big{margin-top:2rem;width:min(420px,100%);aspect-ratio:1;border-radius:50%;justify-content:center}.toggle.big .toggle-state{font-size:3rem}.toggle.big .toggle-hint{font-size:1rem;margin-top:.5rem}.login{max-width:360px;margin:15vh auto;display:flex;flex-direction:column;gap:.8rem;padding:1rem}.login input,.login button{padding:.9rem;border-radius:10px;border:0;background:var(--panel-2)}.login button{background:var(--accent);color:#0b1120;font-weight:700}.admin{font-size:15px}.admin-header{display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;border-bottom:1px solid var(--panel-2)}.admin-header h1{font-size:1.2rem;margin:0}#content{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;max-width:1200px}.panel{background:var(--panel);border-radius:14px;padding:1.5rem}.panel h2{margin-top:0;font-size:1.1rem}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form input,.inline-form select,.table input{padding:.55rem .7rem;border-radius:8px;border:1px solid var(--panel-2);background:var(--bg)}.inline-form button{padding:.55rem 1rem;border-radius:8px;border:0;background:var(--accent);color:#0b1120;font-weight:600}.table{width:100%;border-collapse:collapse;margin-bottom:1rem}.table th{text-align:left;color:var(--muted);font-weight:500;padding:.5rem}.table td{padding:.4rem .5rem;border-top:1px solid var(--panel-2);vertical-align:middle}.table input{width:100%}.thumb{width:56px;height:36px;border-radius:6px;object-fit:cover;display:inline-grid;vertical-align:middle;font-size:.8rem}.upload{margin-left:.5rem;color:var(--accent);cursor:pointer;font-size:.85rem}.icon{background:transparent;border:0;color:var(--muted)}.icon:hover{color:#f87171}.pill{padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;color:#fff}.pill.on{background:#14532d;color:#86efac}.pill.off{background:#3f1d1d;color:#fca5a5}
