:root{--navy:#162C66;--navy-d:#14224E;--navy-x:#0F1A3A;--yellow:#F5C518;--yellow-d:#E0A800;--text:#1b2230;--muted:#5B6472;--bg:#f4f6fb;--card:#fff;--line:#dfe4ee}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%}
body{font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--navy)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------- chat ---------- */
.chat-page{display:flex;flex-direction:column;height:100dvh}
.top{background:var(--navy);padding:10px 16px;border-bottom:4px solid var(--yellow);flex:none}
.top .logo{height:40px;display:block;max-width:100%}
.chat{flex:1;overflow-y:auto;padding:16px 12px;max-width:760px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.welcome{text-align:center;margin:auto;padding:12px 8px}
.welcome-emblem{width:110px;height:auto}
.welcome h1{color:var(--navy);margin:8px 0 4px;font-size:1.6rem}
.welcome p{color:var(--muted);margin:6px auto;max-width:460px}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0}
.chip,.quick{border:1.5px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:8px 14px;font:inherit;font-size:.92rem;cursor:pointer}
.chip:hover,.quick:hover{background:var(--navy);color:#fff}
.invite{font-weight:600;color:var(--navy)!important}
.row{display:flex;gap:8px;align-items:flex-end}
.row.user{justify-content:flex-end}
.avatar{width:34px;height:40px;flex:none}
.bubble{max-width:86%;padding:10px 14px;border-radius:16px;word-wrap:break-word;overflow-wrap:anywhere}
.user .bubble{background:var(--navy);color:#fff;border-bottom-right-radius:4px;border-right:3px solid var(--yellow)}
.bot .bubble{background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow);border-bottom-left-radius:4px;box-shadow:0 1px 3px rgba(20,34,78,.06)}
.bubble p{margin:0 0 .5em}.bubble p:last-child{margin-bottom:0}
.bubble ul{margin:.3em 0 .5em 1.2em;padding:0}
.badge{display:inline-block;font-size:.75rem;background:#fff8dc;color:#7a5c00;border:1px solid var(--yellow);border-radius:999px;padding:1px 9px;margin-top:6px}
.base{margin-top:10px;font-size:.88rem;color:var(--navy);background:#eef2fb;border-radius:8px;padding:6px 10px}
.base ul{margin:2px 0 0 1.1em;padding:0}
.crt{margin-top:10px;border:1.5px solid var(--navy);border-radius:10px;padding:10px 12px;background:#f7f9ff}
.crt b{display:block;color:var(--navy);margin-bottom:6px}
.crt small{display:block;color:var(--muted);margin-top:4px}
.btn,.crt a.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:9px 14px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--navy-d)}
.sig{margin-top:10px;font-size:.82rem;color:var(--navy);font-weight:600}
.disc{margin-top:4px;font-size:.76rem;color:var(--muted)}
.quicks{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.typing .bubble{color:var(--muted)}
.composer{flex:none;display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid var(--line);max-width:760px;width:100%;margin:0 auto}
.composer input[type=text]{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:12px 16px;font:inherit;min-width:0}
.composer input:focus{outline:2px solid var(--navy);border-color:var(--navy)}
.composer button{border:0;background:var(--yellow);color:var(--navy-d);font-size:1.2rem;font-weight:700;border-radius:50%;width:46px;height:46px;cursor:pointer;flex:none}
.composer button:disabled{opacity:.5}
.foot{flex:none;text-align:center;font-size:.72rem;color:var(--muted);padding:6px 12px calc(8px + env(safe-area-inset-bottom));background:#fff}
.foot strong{display:block;color:var(--navy)}

/* ---------- docs / login ---------- */
.doc-page{display:block;height:auto;min-height:100%}
.doc{max-width:680px;margin:0 auto;padding:24px 16px}
.logo-doc{height:64px;border-radius:50%}
.doc h1{color:var(--navy)}.small{color:var(--muted);font-size:.85rem}
.login{max-width:340px;margin:8vh auto;background:#fff;padding:24px;border-radius:14px;border-top:5px solid var(--yellow);box-shadow:0 4px 20px rgba(20,34,78,.12);text-align:center}
.login-emblem{width:70px}.login h1{font-size:1.25rem;color:var(--navy)}
.login label{display:block;text-align:left;font-size:.9rem;margin:10px 0;color:var(--muted)}
.login input{display:block;width:100%;padding:10px;border:1.5px solid var(--line);border-radius:8px;font:inherit;margin-top:4px}
.login .btn{width:100%;margin-top:8px}.err{color:#b00020;font-size:.9rem}

/* ---------- admin ---------- */
.admin-page{display:block;height:auto}
.admin-top{background:var(--navy);border-bottom:4px solid var(--yellow);padding:10px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.admin-top .logo{height:36px}
.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#fff;font-size:.9rem}
.admin-actions select{padding:5px;border-radius:6px}
.admin-actions form{margin:0}
.btn.small{padding:6px 12px;font-size:.85rem;background:var(--yellow);color:var(--navy-d)}
.btn.ghost{background:transparent;color:#fff;border:1px solid #fff}
.admin{max-width:1100px;margin:0 auto;padding:16px}
.banner{background:#fff3cd;border:1px solid var(--yellow-d);color:#6b4e00;padding:10px 14px;border-radius:10px;margin-bottom:14px;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:10px;padding:12px}
.card .v{font-size:1.6rem;font-weight:700;color:var(--navy)}.card .l{font-size:.8rem;color:var(--muted)}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px}
.panel h2{font-size:1.05rem;margin:0 0 8px;color:var(--navy)}
.panel-head{display:flex;justify-content:space-between;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.grid2{grid-template-columns:1fr}}
.seg button{border:1px solid var(--navy);background:#fff;color:var(--navy);padding:4px 12px;cursor:pointer}
.seg button.on{background:var(--navy);color:#fff}
.bars{display:flex;align-items:flex-end;gap:3px;height:150px;overflow-x:auto;padding-top:10px}
.bar{flex:1 0 14px;min-width:14px;max-width:44px;background:var(--navy);border-radius:3px 3px 0 0;position:relative}
.bar:hover{background:var(--yellow-d)}
.hours .bar{background:var(--yellow-d)}
.list{margin:0;padding-left:1.3em;max-height:380px;overflow:auto}
.list li{margin:5px 0}.list .n{float:right;font-weight:700;color:var(--navy);margin-left:8px}
.hint{color:var(--muted);font-size:.85rem}.pill{background:var(--yellow);color:var(--navy-d);border-radius:999px;font-size:.8rem;padding:1px 10px;margin-left:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.tag{background:#eef2fb;border-radius:999px;padding:3px 10px;font-size:.85rem}
