@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#080d16;--surface:#101824;--surface2:#151f2d;--surface3:#1b2939;--line:#2b3a4b;--text:#e6edf3;--muted:#8493a2;--amber:#f3b34f;--amber2:#ffd17e;--green:#6de0a5;--red:#ff7479;--blue:#8daeff;--mono:'IBM Plex Mono',monospace;--display:'Barlow Condensed','Arial Narrow',sans-serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% -5%,#193043 0,transparent 34%),linear-gradient(120deg,#080d16,#0b111b 52%,#0c131c);color:var(--text);font:14px/1.5 var(--sans);min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#080d16 0 49%,#101b25 49% 50%,#080d16 50%)}.gate-card{width:min(450px,100%);padding:34px;background:#111a26;border:1px solid #354455;box-shadow:0 30px 100px #0008;position:relative}.gate-card:before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:3px;background:var(--amber)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--amber);color:#111821;font:700 25px var(--display);clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}.brand b{display:block;font:700 19px var(--display);letter-spacing:2px}.brand small{display:block;color:var(--muted);font:10px var(--mono);letter-spacing:1px}.gate-card .brand{margin-bottom:38px}.eyebrow{color:var(--amber);font:600 10px var(--mono);letter-spacing:1.8px;text-transform:uppercase}.gate-card h1{font:600 37px/1 var(--display);letter-spacing:.4px;margin:11px 0}.muted{color:var(--muted)}.gate-card p{line-height:1.7;margin:12px 0 24px}.button{border:1px solid transparent;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.3px;transition:.15s}.button:hover{transform:translateY(-1px);filter:brightness(1.07)}.button.primary{background:var(--amber);color:#121821}.button.quiet{background:transparent;border-color:var(--line);color:#b8c5d1}.button.wide{width:100%;min-height:44px}.gate-foot{border-top:1px solid var(--line);padding-top:15px;margin-top:22px;color:var(--muted);font:10px var(--mono)}.gate-foot i,.secure i,.bot-status i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 10px #6de0a5aa}.gate-card form label{display:block;font-size:11px;color:#bbc7d2;margin:18px 0 7px}.gate-card input,.form-grid input,.form-grid select,.form-grid textarea,.filter-row input,.filter-row select,.check-label input{background:#0a111b;border:1px solid #354455;color:var(--text);padding:11px 12px;outline:0;width:100%;border-radius:0}.gate-card input:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.filter-row input:focus,.filter-row select:focus{border-color:var(--amber)}.gate-card form button{margin-top:14px}.error-text{color:var(--red);min-height:20px;margin-top:8px;font-size:12px}.text-link{display:inline-block;margin-top:17px;color:var(--muted);font-size:11px}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:#090f18;border-right:1px solid #253241;padding:24px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.sidebar .brand{padding:2px 6px 32px}.nav-caption{font:10px var(--mono);letter-spacing:1.2px;color:#657586;padding:0 10px 10px}.nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;margin:2px 0;background:transparent;border:0;color:#9baab7;text-align:left;position:relative}.nav-link span{font-size:16px;width:19px;text-align:center;color:#8494a2}.nav-link:hover{background:#121c28;color:var(--text)}.nav-link.active{background:#172431;color:var(--amber2)}.nav-link.active:before{content:'';position:absolute;left:0;top:7px;bottom:7px;width:2px;background:var(--amber)}.sidebar-bottom{margin-top:auto}.secure{padding:12px 9px;color:#8a9aa9;font:10px var(--mono);border-bottom:1px solid #253241}.profile{display:flex;align-items:center;gap:9px;padding:13px 5px 2px}.avatar{width:32px;height:32px;border:1px solid #536476;color:var(--amber2);display:grid;place-items:center;font:600 16px var(--display)}.profile-name{min-width:0;flex:1}.profile-name b{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:11px}.profile-name small{font:9px var(--mono);color:var(--amber)}.profile>a{color:var(--muted);text-decoration:none}.main{width:100%;max-width:1600px;padding:29px clamp(18px,3vw,48px) 22px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:0 0 22px;border-bottom:1px solid #263442;gap:20px}.crumb{font:10px var(--mono);color:#748494;letter-spacing:.9px}.crumb span{color:#3f4f5f;padding:0 6px}.crumb b{color:#bdc9d3;font-weight:500}.topbar h1{font:600 38px/.98 var(--display);margin:9px 0 0;letter-spacing:.5px}.top-right{text-align:right}.bot-status{display:inline-flex;align-items:center;border:1px solid #284538;background:#10251d;color:var(--green);padding:7px 10px;font:10px var(--mono);letter-spacing:.6px}.bot-status.offline{border-color:#553438;background:#261519;color:#ff9294}.bot-status.offline i{background:var(--red);box-shadow:0 0 10px #ff747988}.date-stamp{font:10px var(--mono);color:#71808e;margin-top:8px}.view{display:none;padding-top:23px}.view.active{display:block}.welcome-row,.view-toolbar,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.welcome-row{margin-bottom:19px}.welcome-row p,.view-toolbar p{margin:6px 0 0;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{min-height:111px;padding:15px 17px;background:linear-gradient(130deg,#121d29,#101923);border:1px solid #293948;position:relative;overflow:hidden}.metric:after{content:'';position:absolute;right:-28px;bottom:-43px;width:105px;height:105px;border:1px solid #2c3d4c;transform:rotate(45deg)}.metric span{display:block;color:#8998a5;font:10px var(--mono);letter-spacing:.8px}.metric strong{display:block;font:700 34px/.95 var(--display);margin:11px 0 5px;color:#f4f6f8}.metric small{color:#738391;font-size:10px}.metric:nth-child(2) strong{color:var(--amber2)}.metric:nth-child(3) strong{color:var(--blue)}.metric:nth-child(4) strong{font-size:20px;color:var(--green);padding-top:8px}.section-heading{margin:28px 0 12px}.section-heading h2,.view-toolbar h2{font:600 24px/1 var(--display);margin:5px 0}.section-heading p{font-size:12px;margin:8px 0 0}.operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.operation-card,.group-card,.command-card{background:linear-gradient(145deg,#131e2a,#101823);border:1px solid #2b3b4b;padding:15px;position:relative}.operation-card{cursor:pointer;min-height:174px;transition:border .15s,transform .15s}.operation-card:hover{border-color:#9a7542;transform:translateY(-2px)}.operation-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--card-accent,var(--amber))}.card-meta{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:#8291a0}.ref{color:var(--amber2);letter-spacing:.5px}.operation-card h3,.group-card h3{font:600 23px/1.05 var(--display);margin:15px 0 10px}.operation-card .meta-line{color:#a3b1bf;font-size:11px;margin:5px 0}.operation-card .desc{color:#7f8f9e;font-size:11px;line-height:1.5;margin-top:10px}.chip{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid #40515e;color:#a8b6c1;font:9px var(--mono);letter-spacing:.5px;text-transform:uppercase}.chip.active{border-color:#285642;color:#81dfae;background:#10231b}.chip.planned{border-color:#6b5733;color:#f1c976;background:#211d14}.chip.completed{border-color:#3d4a55;color:#a8b2bd}.chip.archived{border-color:#4a4056;color:#b6a5d2}.chip.critical{border-color:#78353b;color:#ff8f92;background:#2d171a}.chip.high{border-color:#775b32;color:#f5bd6a}.priority{font:9px var(--mono);color:#8795a3}.empty{border:1px dashed #344452;color:#8493a1;padding:26px;text-align:center;grid-column:1/-1;font-size:12px}.filter-row{display:flex;gap:8px;margin:17px 0 13px}.filter-row input{max-width:460px}.filter-row select{max-width:190px}.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.group-card{min-height:155px}.group-card .callsign{font:10px var(--mono);color:var(--amber)}.group-card p{font-size:11px;color:#96a4b1}.group-stats{font:10px var(--mono);color:#768593;border-top:1px solid #293847;padding-top:10px;margin-top:13px}.audit-list{border-top:1px solid #2b3947}.audit-row{display:grid;grid-template-columns:130px 1fr auto;gap:12px;padding:11px 8px;border-bottom:1px solid #1f2b38;align-items:center;font-size:11px}.audit-time{font:10px var(--mono);color:#788896}.audit-action{color:#cbd5de}.audit-user{color:var(--amber2);text-align:right}.bot-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:800px;margin-top:18px}.command-card{padding:20px}.command-icon{color:var(--amber);font:26px var(--display)}.command-card h3{font:600 24px var(--display);margin:10px 0 4px}.command-card p{color:var(--muted);font-size:12px;min-height:38px}.command-card form>label{display:block;color:#b7c2cd;font-size:11px;margin:12px 0}.command-card input:not([type=checkbox]){display:block;margin-top:6px;background:#0a111b;border:1px solid #354455;padding:9px;color:var(--text);width:100%}.check-label{display:flex!important;align-items:center;gap:7px}.command-result{margin-top:15px;color:var(--green);font:11px var(--mono)}.site-footer{display:flex;justify-content:space-between;border-top:1px solid #253241;margin-top:34px;padding-top:12px;font:9px var(--mono);letter-spacing:.7px;color:#647382}.modal{width:min(860px,calc(100vw - 24px));max-height:92vh;overflow:auto;background:#111a25;color:var(--text);border:1px solid #405160;padding:22px;box-shadow:0 24px 100px #000b}.modal::backdrop{background:#02060bd9;backdrop-filter:blur(4px)}.modal.compact{max-width:560px}.dossier-modal{max-width:950px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #30404f;padding-bottom:13px;margin-bottom:16px}.modal-head h2{font:600 29px var(--display);margin:4px 0}.icon-button{background:transparent;color:#aab7c2;border:1px solid #394957;width:32px;height:32px;font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:block;color:#9dabb8;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea{display:block;margin-top:6px;resize:vertical;text-transform:none;font-size:12px}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #30404f;padding-top:15px;margin-top:18px}.detail-top{display:flex;justify-content:space-between;gap:12px}.detail-top h2{font:600 32px var(--display);margin:5px 0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.detail-block{border:1px solid #293947;padding:12px;background:#0e1620}.detail-block h4{color:var(--amber);font:10px var(--mono);margin:0 0 8px;letter-spacing:1px}.detail-block p{white-space:pre-wrap;color:#c4cdd5;font-size:12px;margin:0}.timeline{border-left:1px solid #425464;margin:12px 0 18px 6px;padding-left:17px}.timeline-entry{position:relative;padding:0 0 15px}.timeline-entry:before{content:'';position:absolute;left:-21px;top:4px;width:7px;height:7px;background:var(--amber);border-radius:50%}.timeline-entry small{font:9px var(--mono);color:#7d8c99}.timeline-entry b{display:block;color:#d9e1e8;font-size:11px;margin:2px 0}.timeline-entry p{margin:3px 0;color:#a1aeba;white-space:pre-wrap;font-size:11px}.report-form{border-top:1px solid #2e3d4b;padding-top:14px}.report-form textarea{width:100%;background:#0a111b;border:1px solid #354455;color:var(--text);padding:11px;resize:vertical}.report-form .inline{display:flex;gap:8px;margin-top:8px}.toast{position:fixed;right:18px;bottom:18px;padding:12px 16px;background:#1b2a37;border:1px solid #4b6371;color:#dce6ed;box-shadow:0 12px 40px #0009;z-index:99;max-width:min(440px,calc(100vw - 36px));opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.toast.error{border-color:#90484b;color:#ffb0b3}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-grid,.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;width:100%;height:auto;min-height:0;border-right:0;border-bottom:1px solid #253241;padding:10px 12px;display:block}.sidebar .brand{padding:0 4px 9px}.sidebar .brand-mark{width:34px;height:34px}.sidebar .brand b{font-size:16px}.sidebar .brand small{font-size:8px}.nav-caption,.sidebar-bottom{display:none}.nav-link{display:inline-flex;width:auto;padding:8px 9px;font-size:11px}.nav-link span{display:none}.main{padding:19px 13px}.topbar{align-items:flex-start}.topbar h1{font-size:31px}.top-right{max-width:120px}.bot-status{font-size:8px;padding:6px}.metric-grid{gap:7px}.metric{padding:12px;min-height:95px}.metric span{font-size:8px}.metric strong{font-size:29px}.operation-grid,.group-grid,.bot-command-grid{grid-template-columns:1fr}.welcome-row,.view-toolbar{align-items:flex-start;flex-direction:column}.welcome-row .button,.view-toolbar .button{width:100%}.filter-row{flex-direction:column}.filter-row input,.filter-row select{max-width:none}.audit-row{grid-template-columns:1fr auto;gap:3px}.audit-action{grid-column:1/-1;grid-row:2}.audit-user{grid-column:2;grid-row:1}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.detail-grid{grid-template-columns:1fr}.modal{padding:15px}.site-footer{font-size:7px}.crumb{font-size:8px}}

/* Detailed group dossier editor */
.profile-section{border-top:1px solid #2c3b49;margin-top:24px;padding-top:18px}.profile-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.profile-section-head h3{font:600 24px/1 var(--display);margin:5px 0}.profile-section-head p{color:var(--muted);font-size:11px;margin:5px 0}.record-list{display:grid;gap:10px}.record-card{border:1px solid #30404f;background:#0d151f;padding:13px}.record-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--amber2);font:11px var(--mono)}.record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-fields label{display:block;color:#9dabb8;font-size:10px;letter-spacing:.4px;text-transform:uppercase}.record-fields input:not([type=file]),.record-fields textarea{display:block;width:100%;margin-top:5px;padding:9px;background:#080f17;border:1px solid #344555;color:var(--text);font:12px var(--sans)}.record-fields textarea{resize:vertical}.record-photo{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 100px;align-items:center;gap:8px}.record-photo span{grid-column:1/-1}.record-photo input{font-size:11px;color:var(--muted)}.record-photo img{width:100px;height:84px;object-fit:cover;border:1px solid #3c4e5d}.button.danger{background:#341a1e;border:1px solid #673238;color:#ff9a9d}.button.small{font-size:10px;padding:6px 9px}@media(max-width:760px){.profile-section-head{align-items:flex-start;flex-direction:column}.record-fields{grid-template-columns:1fr}.record-photo{grid-column:auto}}

/* Clean, column-based layout for group profile records */
#groupDialog .profile-section{margin-top:30px;padding-top:22px;border-top:1px solid #304050}
#groupDialog .profile-section-head{align-items:flex-end;margin-bottom:16px}
#groupDialog .profile-section-head h3{font-size:27px}
#groupDialog .record-list{gap:14px}
#groupDialog .record-card{padding:0;background:#0b131d;border:1px solid #354555;box-shadow:0 8px 24px #0002}
#groupDialog .record-card-top{padding:12px 16px;margin:0;background:#121e2a;border-bottom:1px solid #304050}
#groupDialog .record-card-top small{display:block;color:#738596;font:9px var(--mono);letter-spacing:1px;margin-bottom:3px}
#groupDialog .record-card-top b{font:600 19px var(--display);color:#e6edf3}
#groupDialog .record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:17px}
#groupDialog .record-fields>label{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:6px;color:#aebbc7;font:500 10px var(--mono);letter-spacing:.35px;text-transform:uppercase}
#groupDialog .record-fields>label.field-wide{grid-column:1/-1}
#groupDialog .record-fields input:not([type=file]),#groupDialog .record-fields textarea{display:block;width:100%;min-width:0;min-height:39px;margin:0;padding:10px 11px;background:#080f17;border:1px solid #344555;border-radius:2px;color:var(--text);font:12px/1.5 var(--sans);text-transform:none;outline:none}
#groupDialog .record-fields textarea{min-height:76px;resize:vertical}
#groupDialog .record-fields input:focus,#groupDialog .record-fields textarea:focus{border-color:var(--amber);box-shadow:0 0 0 2px #f3b34f1a}
#groupDialog .record-photo{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:14px;border-top:1px solid #263645;padding-top:14px}
#groupDialog .record-photo-copy{display:grid;justify-items:start;gap:7px}
#groupDialog .record-photo-copy>span{color:var(--amber);font:10px var(--mono);letter-spacing:1px}
#groupDialog .record-photo-copy>small{color:var(--muted);font-size:10px}
#groupDialog .record-photo input[type=file]{max-width:100%;color:var(--muted);font-size:11px}
#groupDialog .record-photo img{width:150px;height:118px;object-fit:cover;border:1px solid #405261;background:#080f17}
#groupDialog .record-card .button.small{min-height:30px}
@media(max-width:760px){#groupDialog .profile-section-head{align-items:flex-start}#groupDialog .record-fields{grid-template-columns:1fr;padding:13px;gap:12px}#groupDialog .record-fields>label.field-wide,#groupDialog .record-photo{grid-column:auto}#groupDialog .record-photo{grid-template-columns:minmax(0,1fr) 100px}#groupDialog .record-photo img{width:100px;height:90px}}

/* Member directory and dedicated one-field-per-row editor */
#groupDialog .member-directory{display:grid;gap:8px}
#groupDialog .member-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;padding:10px 13px;background:#0c151f;border:1px solid #314252;color:var(--text);text-align:left;transition:background .15s,border-color .15s}
#groupDialog .member-row:hover{background:#142231;border-color:#8c7149}
#groupDialog .member-avatar{display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border:1px solid #4a5d6d;color:var(--amber);font-size:18px;background:#111e2b}
#groupDialog .member-avatar img{width:100%;height:100%;object-fit:cover}
#groupDialog .member-row-text{display:grid;gap:3px;min-width:0}
#groupDialog .member-row-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 18px var(--display)}
#groupDialog .member-row-text small{color:var(--amber2);font:10px var(--mono)}
#groupDialog .member-open{color:#8494a3;font:9px var(--mono);letter-spacing:.4px}
.member-modal{max-width:700px}
.member-modal .modal-head p{margin:6px 0 0;font-size:11px}
.member-fields{display:grid;grid-template-columns:1fr;gap:12px}
.member-fields>label{display:flex;flex-direction:column;gap:6px;color:#aebbc7;font:500 10px var(--mono);letter-spacing:.4px;text-transform:uppercase}
.member-fields input:not([type=file]),.member-fields textarea{width:100%;min-height:40px;margin:0;padding:10px 12px;background:#080f17;border:1px solid #344555;color:var(--text);font:12px/1.5 var(--sans);text-transform:none;outline:none}
.member-fields textarea{resize:vertical;min-height:78px}
.member-fields input:focus,.member-fields textarea:focus{border-color:var(--amber);box-shadow:0 0 0 2px #f3b34f1a}
.member-photo{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:18px;border-top:1px solid #304050;padding-top:16px}
.member-photo>div{display:grid;justify-items:start;gap:8px}
.member-photo b{color:var(--amber);font:10px var(--mono);letter-spacing:.8px;text-transform:uppercase}
.member-photo small{color:var(--muted);font-size:10px}
.member-photo input[type=file]{max-width:100%;color:var(--muted);font-size:11px}
.member-photo img{width:160px;height:130px;object-fit:cover;border:1px solid #405261;background:#080f17}
@media(max-width:760px){#groupDialog .member-row{grid-template-columns:42px minmax(0,1fr)}#groupDialog .member-open{display:none}.member-photo{grid-template-columns:minmax(0,1fr) 100px}.member-photo img{width:100px;height:100px}}
