*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#6f8492;color:#26333a}.topbar{min-height:64px;background:linear-gradient(#fafafa,#d9d9d9);border-bottom:4px solid #45545d;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;box-shadow:0 2px 8px #0007;position:sticky;top:0;z-index:5}.brand{font-size:20px;color:#17313d}.stats{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.stats span,.mini{background:#fff;border:1px solid #aab1b4;border-radius:6px;padding:7px 9px;text-decoration:none;color:#26333a}.mini.admin{background:#ffe98c}.layout{display:grid;grid-template-columns:190px 1fr;min-height:calc(100vh - 64px)}.sidebar{background:linear-gradient(90deg,#3e4c54,#65747c);padding:12px;box-shadow:inset -4px 0 #26343b}.nav{display:block;width:100%;margin-bottom:8px;border:1px solid #27353c;border-radius:5px;background:linear-gradient(#e8ecec,#aeb9bd);padding:11px;text-align:left;font-weight:bold;cursor:pointer}.nav.active{background:linear-gradient(#f7df83,#c69b34)}.hospital{background:#c8c8c3;padding:14px;border-bottom:5px solid #727879}.floor-header{background:linear-gradient(#727d83,#4b575d);color:white;padding:8px 12px;border-radius:5px 5px 0 0;font-weight:bold}.floor{display:grid;grid-template-columns:repeat(12,minmax(70px,1fr));grid-auto-rows:84px;background:#b7c0c1;padding:6px;gap:5px;border:4px solid #566269;overflow:auto}.tile,.room{border:1px solid #7e898b;border-radius:4px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px #ffffff33}.room{cursor:pointer}.empty{background:repeating-linear-gradient(45deg,#cbd1d0,#cbd1d0 5px,#c4cac9 5px,#c4cac9 10px)}.plus{font-size:24px;color:#98a2a2}.room{background:linear-gradient(#f1eee0,#c8c0aa);border:3px solid #8e8b79;text-shadow:0 1px #fff}.room.treatment{background:linear-gradient(#d6e6e8,#91abb0)}.room.waiting{background:linear-gradient(#d9d0b8,#a99d7e)}.room.office{background:linear-gradient(#ead8c8,#c3a891)}.room-icon{font-size:28px}.room small{font-size:10px;color:#425058}.patient-dot{position:absolute;bottom:4px;right:6px}.panel{margin:16px;background:#ececeb;border:1px solid #9ca5a8;border-radius:7px;box-shadow:0 2px 7px #0004}.panel-title{padding:12px 15px;background:linear-gradient(#fff,#d3d5d4);border-bottom:1px solid #abb2b3;display:flex;justify-content:space-between}.patient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px;padding:10px}.patient-card{display:flex;gap:10px;padding:10px;background:#fff;border:1px solid #b4bbbc;border-radius:6px;cursor:pointer}.avatar{font-size:38px}.pinfo{display:grid;gap:4px;flex:1}.pinfo small{color:#66747a}.status{font-size:12px;padding:4px 7px;border-radius:10px;width:max-content}.waiting{background:#fff1bf}.diagnosing{background:#ddd6ff}.treating{background:#c9e8ef}.done{background:#cfe8c7}.staff-grid,.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:10px}.staff-card,.shop-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #bcc2c2;border-radius:6px;padding:11px}.staff-card div{display:grid;flex:1}.staff-card small{color:#66747a}.big{font-size:30px}.modal{display:none;position:fixed;inset:0;background:#0008;align-items:center;justify-content:center;z-index:20}.modal.show{display:flex}.dialog{position:relative;background:#f0f0ee;border:6px solid #46545a;border-radius:7px;width:min(620px,94vw);max-height:90vh;overflow:auto;padding:25px;box-shadow:0 10px 40px #0008}.close{position:absolute;right:8px;top:5px;border:0;background:none;font-size:28px;cursor:pointer}.room-select{display:grid;gap:10px}.room-select button,.button,table button{border:1px solid #8b762d;background:linear-gradient(#ffe98c,#cda734);padding:9px 12px;border-radius:4px;cursor:pointer;font-weight:bold}.center{min-height:100vh;display:grid;place-items:center;background:linear-gradient(#71858e,#4b5e66)}.login-card{width:min(440px,92vw);background:#f0f0ee;border:5px solid #46545a;border-radius:8px;padding:25px;box-shadow:0 10px 35px #0008}.login-card h1{text-align:center}.login-card form{display:grid;gap:13px}.login-card label{display:grid;gap:5px;font-weight:bold}.login-card input{padding:10px;border:1px solid #9ba4a6;border-radius:4px}.error,.success,.info-box{padding:10px;border-radius:5px;margin:10px 0}.error{background:#f5c6c6;border:1px solid #b86b6b}.success{background:#cce8c7;border:1px solid #78a66f}.info-box{background:#dbe7f5;border:1px solid #8ea6c0}.shop-page,.admin-page{padding:25px;max-width:1500px;margin:auto}.shop-card{display:block}.shop-icon{font-size:42px}.price{display:block;font-size:20px;margin:12px 0}.admin-panel{background:#f0f0ee;border:1px solid #aeb5b6;border-radius:7px;padding:15px;margin-bottom:18px;box-shadow:0 2px 7px #0004}.admin-form{display:grid;grid-template-columns:1.1fr 2fr 120px 150px 90px auto;gap:8px}.admin-form.simple{grid-template-columns:1fr auto}.admin-form input,.admin-form select,table input,table select{padding:7px;border:1px solid #9ba4a6;border-radius:4px;min-width:70px}.admin-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #bbc1c2;padding:7px;text-align:left;white-space:nowrap}th{background:#d7dcdd}.actions,.inline-form{display:flex;gap:5px;flex-wrap:wrap}.danger{background:#e9aaaa!important;border-color:#9d4d4d!important}.patient-file h2{margin-top:0}.file-head{display:flex;gap:20px;align-items:center}.large-avatar{font-size:70px}.progress{height:14px;background:#c7ccce;border:1px solid #8f999b;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#6e9fac}.patient-file .button{margin:5px 0}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.admin-form{grid-template-columns:1fr}.topbar{align-items:flex-start}.floor{grid-template-columns:repeat(12,70px)}}

.nav-form{margin:0;padding:0}.nav-form .nav{margin-bottom:8px}.nav{text-decoration:none;color:#26333a}.build-static form{margin:0}

.file-link{font-weight:bold;color:#6a4f00;text-decoration:underline;cursor:pointer}.file-link:hover{text-decoration:none}

.fallback-form{display:inline-block;margin:4px 6px 4px 0}.fallback-form .button{font-size:12px;padding:6px 9px}

.timer{font-weight:700;font-variant-numeric:tabular-nums}.treatment-live{font-weight:600}.patient-dot{font-size:24px;margin-top:2px}
