:root{font-family:Arial,sans-serif;color:#0c1020;background:#f7fcff;font-size:16px;--aqua:#06bfc7;--border:#dfe8ee}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{background:var(--aqua);border:1px solid var(--aqua);border-radius:7px;color:#062d30;font-weight:700;padding:12px 20px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:#116469}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #aebbc2;border-radius:5px;background:white;color:#17252b}input[type=checkbox]{width:auto;display:inline}label{display:block;font-weight:700;font-size:.875rem;margin-bottom:17px}label input,label select,label textarea{margin-top:7px}small,.muted{font-size:.875rem;color:#617080;font-weight:400;line-height:1.5}.brand{width:200px;height:55px;overflow:hidden;position:relative}.brand img{position:absolute;width:220px;max-width:none;left:-11px;top:-24px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .card{width:min(430px,100%)}.card{background:white;border:1px solid var(--border);border-radius:13px;padding:24px;margin-bottom:22px}h1{font-size:2rem;margin:14px 0 25px}h2{font-size:1.35rem;margin-top:0}h3{margin-top:0}#app{display:flex;min-height:100vh}#app[hidden]{display:none}aside{width:250px;background:white;padding:24px 18px;flex-shrink:0;border-right:1px solid var(--border)}nav{margin:25px 0}nav button{display:flex;gap:14px;align-items:center;text-align:left;background:none;border:none;color:#1a2430;font-weight:400;width:100%;margin:3px 0;padding:13px 11px;font-size:.875rem}nav button::before{content:'○';color:#05aab4;font-size:23px;line-height:18px}nav button.selected{background:#d9edff;color:#092f52;border-radius:8px}main{flex:1;min-width:0;padding:30px}header{display:flex;align-items:center;justify-content:space-between;gap:20px}header span{color:#617080;font-size:.875rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--border)}.row:last-child{border:0}.row p{margin:6px 0}.stat{font-size:2rem;font-weight:700}.notice{background:#eef7ff;border:1px solid var(--border);padding:15px;border-radius:8px;line-height:1.5}.error{color:#9f2424}.success{color:#137345}#message:empty{display:none}#message{padding:12px;background:#edf7fa;border-radius:8px}dialog{border:1px solid var(--border);border-radius:12px;width:min(460px,90vw);padding:28px}dialog::backdrop{background:#0c102080}.media{max-width:160px;max-height:120px;object-fit:contain}.file-help{display:block;margin:8px 0 20px}a{color:#116469}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid var(--border);padding:12px;overflow-wrap:anywhere}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #255fac;outline-offset:3px}@media(max-width:850px){#app{display:block}aside{width:100%;border-right:0;padding:16px}nav{display:flex;overflow:auto;margin:12px 0}nav button{width:auto;white-space:nowrap}aside>#logout{padding:8px 16px}.grid{grid-template-columns:1fr}main{padding:20px}header{display:block}}

[hidden]{display:none!important}
.workspace{display:grid;grid-template-columns:minmax(260px, .8fr) minmax(0,2fr);gap:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .card{margin-bottom:0}.tabs{margin-bottom:22px;margin-top:0}.tabs .selected{background:#d9edff;border-color:#9fc3e3}.table-scroll{overflow:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats .card{margin-bottom:0}.stat{margin:8px 0}.workspace .actions{margin-top:8px}#editor{min-width:0}@media(max-width:1200px){.workspace{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:800px){.form-grid,.form-grid.three{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}
