:root{--navy:#07152b;--blue:#1476e7;--ink:#13253e;--muted:#64748b;--line:#e5eaf2;--bg:#f4f7fc}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.55 system-ui,-apple-system,Segoe UI,Arial;color:var(--ink)}a{color:#1467cc;text-decoration:none}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:#fff;padding:27px 16px;overflow:auto}.brand{display:flex;flex-direction:column;line-height:1.05;margin:0 0 27px;font-size:25px;letter-spacing:.08em;color:#fff}.brand b{color:#58bbff}.brand span{font-size:13px;letter-spacing:.34em;margin-top:7px}.sidebar nav{display:grid;gap:3px}.sidebar a{display:block;padding:10px 12px;color:#cee4fa;border-radius:9px}.sidebar nav a:hover,.sidebar nav a:focus{background:#14325b;color:white}.sidebar-foot{border-top:1px solid #26466d;margin-top:30px;padding:20px 10px;color:#bcd2e9}.sidebar-foot a{padding:4px 0}.content{margin-left:245px;padding:25px 30px;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:10px}h1{font-size:27px;margin:0}h2{font-size:21px;margin:0 0 13px}h3{font-size:17px;margin:6px 0 12px}p{margin:7px 0 16px}.muted,small{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card,.stat{padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 20px rgba(13,40,73,.03)}.stat strong{display:block;font-size:31px;color:#1169c9}.stat span{color:var(--muted)}.card h3{margin-top:0}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.button,button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--blue);border-radius:9px;background:var(--blue);color:white;padding:10px 15px;font:inherit;font-weight:650}.button:hover,button:hover{filter:brightness(.94)}.button.secondary,button.secondary{background:white;color:#165ab3;border-color:#b8d3f0}.button.warn{background:#dc2626;border-color:#dc2626}input,textarea,select{display:block;width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;background:white;color:#12213d;font:inherit;margin-top:5px}textarea{min-height:90px}label{display:block;font-weight:600;font-size:14px;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 18px}.notice{padding:12px 16px;border-radius:10px;border:1px solid #a2dbad;background:#e9ffed;margin-bottom:16px}.error{padding:12px 16px;border-radius:9px;background:#fee2e2;color:#991b1b;margin:12px 0}.table-wrap{overflow:auto;background:#fff;border-radius:13px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:660px}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}td a{font-weight:650}.pill{font-size:12px;padding:4px 9px;border-radius:30px;background:#eaf2ff;color:#225dad}.auth{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 90% 10%,#234a81,#061529 60%)}.auth-card{background:white;border-radius:22px;padding:37px;width:min(420px,93vw);box-shadow:0 30px 80px #0004}.auth-card.wide{width:min(760px,96vw)}.auth-card .brand{color:#0d2344}.auth-card button{width:100%}.search{max-width:340px}.tile{border-radius:12px;background:#f1f6ff;padding:20px;min-height:110px}.tile .glyph{font-size:34px;display:block;margin-bottom:7px}.empty{padding:25px;text-align:center;color:#64748b}.workspace{display:grid;grid-template-columns:215px 1fr 250px;min-height:620px;border:1px solid #ced8e7;border-radius:13px;overflow:hidden;background:white}.workspace>section{padding:15px;min-width:0}.workspace .sidepane{background:#f6f9fd}.workspace .sidepane:first-child{border-right:1px solid #dbe4ef}.workspace .sidepane:last-child{border-left:1px solid #dbe4ef}.viewport{position:relative;min-height:580px;background:#101a30}.viewport canvas{display:block;width:100%;height:100%}.object-item{width:100%;border:1px solid #dae3ef;border-radius:8px;padding:9px;margin-bottom:6px;background:white;color:#233456;text-align:left;font-weight:500}.object-item.active{border-color:#1576e8;background:#dbeafe}.workspace input,.workspace select{padding:7px}.workspace label{font-size:12px;margin-bottom:10px}.workspace button{font-size:13px;padding:7px}.toptools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toptools form{display:inline}.note{font-size:12px;color:#64748b}.full{width:100%}.banner{background:linear-gradient(110deg,#0a284c,#1558a6);color:#fff;padding:28px;border-radius:16px;margin-bottom:19px}.banner h2{font-size:25px}.banner p{color:#dbeafe}.page-player{min-height:100vh;background:#08162c;color:white;padding:22px}.player-wrap{max-width:1100px;margin:auto}.player-stage{height:min(70vh,660px);background:#0b1830;border-radius:16px;overflow:hidden}.player-stage model-viewer{height:100%;width:100%}#player-canvas{height:100%;width:100%}.player-wrap h1{color:white}.player-wrap .card{color:#172944}.form-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.form-inline label{flex:1;min-width:190px}@media(max-width:1100px){.workspace{grid-template-columns:170px 1fr}.workspace>.sidepane:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #ddd}.workspace>.sidepane:last-child .form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:750px){.sidebar{position:static;width:auto;max-height:none}.sidebar nav{grid-template-columns:repeat(2,1fr)}.content{margin:0;padding:17px}.workspace{display:block}.viewport{height:390px;min-height:390px}.workspace .sidepane{border:0!important;border-bottom:1px solid #ddd!important}.auth-card{padding:23px}header{align-items:start}h1{font-size:22px}}
