:root{--navy:#082d55;--deep:#06182b;--blue:#176fc1;--pale:#e9f3fc;--ink:#142133;--muted:#68778b;--line:#dfe6ee;--canvas:#f3f6f9;--green:#179467;--red:#c33e4c;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--canvas)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.login-view{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 18% 12%,rgba(43,127,200,.32),transparent 28rem),linear-gradient(145deg,#06182b,#082d55 52%,#0d4779)}
.login-view:before{content:"";position:fixed;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
.login-card{position:relative;width:min(100%,440px);padding:2.5rem;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.brand,.sidebar-brand{display:flex;align-items:center;gap:.9rem}.brand img{width:58px;height:58px;object-fit:contain}.brand h1{margin:.1rem 0 0;font-size:1.25rem;color:var(--navy)}.eyebrow{margin:0;color:var(--blue);font-size:.69rem;font-weight:800;letter-spacing:.18em}.login-copy{margin:2.4rem 0 1.5rem}.login-copy h2{margin:0 0 .55rem;font-size:1.8rem}.login-copy p,.panel-heading p,.detail-header p{margin:0;color:var(--muted);line-height:1.6}
label{display:block;margin:1rem 0 .42rem;color:#32445a;font-size:.88rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #cad5e1;border-radius:9px;padding:.74rem .82rem;color:var(--ink);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,111,193,.14)}input:disabled{color:var(--muted);background:#eef2f6}textarea{resize:vertical}
.button{border:0;border-radius:9px;padding:.72rem 1rem;font-weight:750;cursor:pointer}.button:disabled{cursor:wait;opacity:.65}.primary{color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue))}.secondary{color:var(--navy);background:var(--pale)}.danger{color:var(--red);background:#fff0f2}.block{width:100%;margin-top:.7rem}.small{padding:.55rem .78rem;font-size:.84rem}.text-button{border:0;padding:.25rem;color:var(--blue);background:none;font-weight:750;cursor:pointer}.inverse{color:#d8eaff}.back-link{display:block;margin-top:1.4rem;color:var(--navy);font-size:.88rem;text-align:center;text-decoration:none}.form-error{min-height:1.25rem;margin:.7rem 0 0;color:var(--red);font-size:.84rem}
.admin-view{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;padding:1.5rem 1rem;color:#fff;background:linear-gradient(180deg,var(--deep),var(--navy))}.sidebar-brand{padding:.15rem .55rem 2rem;color:#fff;text-decoration:none}.sidebar-brand img{width:42px;height:42px;object-fit:contain}.sidebar-brand span{display:flex;flex-direction:column}.sidebar-brand small{margin-top:.22rem;color:#bad5ef;font-size:.72rem}.sidebar nav{display:grid;gap:.4rem}.nav-item{width:100%;border:0;border-radius:9px;padding:.78rem .85rem;color:#bdd0e3;background:transparent;text-align:left;cursor:pointer}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.11)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;padding:1rem .65rem .3rem;border-top:1px solid rgba(255,255,255,.13)}.sidebar-footer small{color:#91abc4}.sidebar-footer strong{margin:.25rem 0 .5rem;overflow-wrap:anywhere}
.main{grid-column:2;min-width:0;padding:2rem clamp(1.25rem,3.5vw,3.6rem) 4rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.8rem}.topbar h1{margin:.22rem 0 0;color:var(--deep);font-size:clamp(1.65rem,2.5vw,2.15rem)}.actions{display:flex;gap:.65rem}.notice{margin:-.55rem 0 1.35rem;border-left:4px solid var(--green);border-radius:8px;padding:.8rem 1rem;color:#126246;background:#e8f7f1}.notice.error{border-color:var(--red);color:#922d39;background:#fff0f2}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.metrics article,.panel{border:1px solid rgba(197,210,222,.72);border-radius:14px;background:#fff;box-shadow:0 7px 24px rgba(6,24,43,.055)}.metrics article{min-height:145px;display:flex;flex-direction:column;padding:1.25rem}.metrics span{color:var(--muted);font-size:.82rem;font-weight:700}.metrics strong{margin:.65rem 0 .3rem;color:var(--navy);font-size:2rem}.metrics small{margin-top:auto;color:#8794a5}.metrics .service{color:#fff;border-color:transparent;background:linear-gradient(145deg,var(--navy),#176aa8)}.metrics .service span,.metrics .service strong,.metrics .service small{color:#fff}.service i{display:inline-block;width:.62rem;height:.62rem;margin-right:.48rem;border-radius:50%;background:#67e4ae;box-shadow:0 0 0 5px rgba(103,228,174,.13)}
.panel{padding:1.35rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin-bottom:1.15rem}.panel-heading.compact{align-items:flex-start}.panel-heading h2,.detail-header h2{margin:0 0 .28rem;color:var(--deep);font-size:1.08rem}.panel-heading p{font-size:.84rem}.search{width:min(100%,280px)}
.meeting-list{display:grid;gap:.55rem}.meeting-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,.8fr) 110px 100px;align-items:center;gap:1rem;border:1px solid transparent;border-radius:10px;padding:.9rem 1rem;background:#f8fafc;cursor:pointer}.meeting-row:hover{border-color:#bcd2e7;background:#f3f8fd}.meeting-name{min-width:0}.meeting-name strong{display:block;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-name small,.meeting-cell{color:var(--muted);font-size:.84rem}.badge{display:inline-flex;width:fit-content;border-radius:999px;padding:.25rem .56rem;color:#556579;background:#edf1f5;font-size:.73rem;font-weight:800}.badge.live{color:#11704f;background:#e8f7f1}.empty-state{padding:2.5rem 1rem;color:var(--muted);text-align:center}
.back-button{margin:0 0 1rem}.detail-header{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.detail-header h2{margin-top:.7rem;font-size:1.45rem}.detail-header a{display:inline-block;margin-top:.65rem;color:var(--blue);font-size:.86rem;font-weight:750;text-decoration:none}.detail-grid{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(360px,1.3fr);gap:1rem}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.2rem 0 1rem;border-radius:9px;padding:.85rem;background:#f5f8fb}.switch-row span{display:flex;flex-direction:column;gap:.25rem}.switch-row small,.hint{color:var(--muted);font-size:.74rem;font-weight:400}.switch-row input{width:1.1rem;height:1.1rem;accent-color:var(--blue)}.hint{display:block;margin-top:.35rem;line-height:1.45}.form-submit{margin-top:1rem}
.user-list{display:grid;gap:.55rem}.user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:9px;padding:.78rem .85rem;background:#f7f9fb}.user-identity strong{display:block;color:var(--navy);overflow-wrap:anywhere}.user-identity small{color:var(--muted)}.user-actions{display:flex;flex-shrink:0;gap:.25rem}.icon-button{border:0;border-radius:7px;padding:.4rem .56rem;color:var(--navy);background:#e8f0f8;cursor:pointer}.icon-button.danger{color:var(--red);background:#fff0f2}
.recordings-panel{margin-top:1rem}.recordings-heading-actions{display:flex;align-items:center;gap:.6rem}.recording-list{display:grid;gap:.55rem}.recording-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 110px 170px auto;align-items:center;gap:1rem;border-radius:9px;padding:.78rem .85rem;background:#f7f9fb}.recording-file{min-width:0}.recording-file strong{display:block;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recording-file small,.recording-meta{color:var(--muted);font-size:.78rem}.recording-actions{display:flex;justify-content:flex-end;gap:.3rem}.recording-dialog{width:min(calc(100% - 2rem),900px);padding:1.4rem}.recording-dialog video{display:block;width:100%;max-height:68vh;border-radius:10px;background:#071422}.recording-dialog .dialog-heading{padding:0}.recording-dialog .hint{margin-bottom:0}
dialog{width:min(calc(100% - 2rem),620px);max-height:calc(100vh - 2rem);border:0;border-radius:16px;padding:0;color:var(--ink);background:#fff;box-shadow:0 18px 45px rgba(6,24,43,.2)}dialog::backdrop{background:rgba(4,17,31,.66);backdrop-filter:blur(3px)}dialog.dialog-small{width:min(calc(100% - 2rem),480px)}dialog form{padding:1.5rem;overflow:auto}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.dialog-heading h2{margin:.25rem 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.35rem}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.two-columns input,.two-columns select{margin-top:.42rem}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem}.checks label{display:flex;align-items:center;gap:.55rem;margin:0;border-radius:8px;padding:.72rem;background:#f5f8fb}.checks input{width:auto;accent-color:var(--blue)}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.admin-view{display:block}.sidebar{position:static;width:auto;flex-direction:row;align-items:center;padding:.7rem .9rem}.sidebar-brand{padding:0;margin-right:auto}.sidebar-brand img{width:35px;height:35px}.sidebar nav{display:flex}.nav-item{width:auto;padding:.65rem;font-size:0}.nav-item:first-letter{font-size:1.2rem}.sidebar-footer{margin:0;padding:0;border:0}.sidebar-footer small,.sidebar-footer strong{display:none}.main{padding:1.2rem .85rem 3rem}.topbar{align-items:flex-start}.topbar .actions{flex-direction:column-reverse}.meeting-row{grid-template-columns:minmax(0,1fr) auto}.meeting-cell:nth-child(2),.meeting-cell:nth-child(4){display:none}.panel-heading{align-items:flex-start;flex-direction:column}.search{width:100%}.detail-header{flex-direction:column}.detail-header .actions{width:100%}.detail-header .button{flex:1}}
@media(max-width:760px){.recording-row{grid-template-columns:minmax(0,1fr) auto}.recording-meta{display:none}.recording-actions{grid-column:1/-1;justify-content:flex-start}.recordings-heading-actions{width:100%;justify-content:space-between}}
@media(max-width:480px){.login-view{padding:1rem}.login-card{padding:1.55rem}.sidebar-brand small{display:none}.metrics{grid-template-columns:1fr}.topbar .eyebrow{display:none}.topbar h1{font-size:1.35rem}.topbar .secondary{display:none}.panel{padding:1rem}.two-columns,.checks{grid-template-columns:1fr}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}}
.admin-language-toggle{border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:.36rem .55rem;color:#fff;background:rgba(255,255,255,.09);font-size:.72rem;font-weight:800;cursor:pointer}.admin-language-toggle:hover{background:rgba(255,255,255,.16)}.login-card{position:relative}.login-language{position:absolute;top:1.1rem;right:1.1rem;color:var(--navy);border-color:#c8d8e7;background:var(--pale)}.login-language:hover{background:#dbeaf7}.sidebar-footer .admin-language-toggle{width:fit-content;margin:.15rem 0 .45rem}.sidebar-footer .footer-action{width:fit-content;margin:.05rem 0 .45rem;padding:.25rem 0;text-align:left}
