:root{color-scheme:light;--app-bg: #f7faf9;--sidebar-bg: #f3f8f6;--surface: #ffffff;--surface-soft: #eef8f2;--line: #e7eceb;--line-strong: #d7dfdd;--text: #101828;--muted: #778190;--primary: #087b41;--primary-dark: #056332;--danger: #d64545;--warning: #d99a20;--info: #0e8fb6;--shadow: 0 14px 34px rgba(16, 24, 40, .08);--radius: 8px}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--app-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.45}[dir=rtl] body{text-align:right}a{color:inherit}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);padding:11px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(8,123,65,.14);border-color:var(--primary)}label{display:grid;gap:7px;color:#4d5968;font-size:14px;font-weight:700}fieldset{margin:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius)}legend{padding:0 6px;color:var(--muted);font-weight:800}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 14% 16%,rgba(8,123,65,.08),transparent 24rem),linear-gradient(135deg,#f8fbfa,#eef7f2)}.auth-wrap{width:min(980px,100%);display:grid;grid-template-columns:1fr 420px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.auth-brand{min-height:560px;padding:48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(#f7faf9e6,#f7faf9f5),url("data:image/svg+xml,%3Csvg width='560' height='560' viewBox='0 0 560 560' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23087b41' stroke-opacity='.18'%3E%3Cpath d='M280 70c77 56 126 135 126 226v174H154V296c0-91 49-170 126-226Z' stroke-width='8'/%3E%3Cpath d='M219 470V330c0-35 27-65 61-65s61 30 61 65v140' stroke-width='8'/%3E%3Ccircle cx='280' cy='190' r='58' stroke-width='8'/%3E%3Cpath d='M113 470h334M172 418h216M202 160h156' stroke-width='8'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right bottom;background-size:86%}.auth-brand h1{margin:20px 0 12px;font-size:44px;letter-spacing:0}.auth-brand p{max-width:440px;margin:0;color:var(--muted);font-size:17px}.auth-card{padding:44px;display:grid;align-content:center;gap:20px}.auth-card h2{margin:0;font-size:30px}.auth-card .muted{margin:0}.auth-switch{margin:0;color:var(--muted)}.auth-switch a{color:var(--primary);font-weight:800;text-decoration:none}.app-screen{min-height:100vh;display:grid;grid-template-columns:292px minmax(0,1fr);background:var(--app-bg)}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--sidebar-bg);border-right:1px solid var(--line)}.brand{min-height:140px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--primary);font-size:24px;font-weight:900;text-decoration:none;border-bottom:1px solid var(--line)}.brand-mark{width:70px;height:70px;display:inline-grid;place-items:center;border-radius:50%;background:#e2f4ea;color:var(--primary);font-weight:900}.brand-mark.small{width:46px;height:46px;font-size:13px}.side-nav{display:grid;gap:8px;padding:26px 18px}.side-nav a{min-height:50px;display:flex;align-items:center;gap:12px;border-radius:14px;padding:0 18px;color:#566273;font-weight:800;text-decoration:none}.side-nav a.active,.side-nav a:hover{background:#e4f5eb;color:var(--text)}.nav-icon{width:24px;text-align:center;color:#5f6d7b}.sidebar-art{margin-top:auto;min-height:300px;opacity:.55;background:url("data:image/svg+xml,%3Csvg width='292' height='300' viewBox='0 0 292 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23087b41' stroke-opacity='.13'%3E%3Cpath d='M146 18c67 49 109 117 109 196v74H37v-74c0-79 42-147 109-196Z' stroke-width='6'/%3E%3Cpath d='M91 288v-87c0-31 24-57 55-57s55 26 55 57v87' stroke-width='6'/%3E%3Cpath d='M18 288h256M64 242h164' stroke-width='6'/%3E%3Ccircle cx='146' cy='96' r='44' stroke-width='6'/%3E%3C/g%3E%3C/svg%3E") center bottom / contain no-repeat}.app-main{min-width:0}.app-header{height:92px;display:flex;align-items:center;gap:18px;padding:0 36px;background:var(--surface);border-bottom:1px solid var(--line)}.profile{margin-inline-start:auto;display:flex;align-items:center;gap:12px}.profile span{display:block;color:var(--muted);font-weight:700}.profile strong{display:block}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#f6d6bd;color:var(--primary-dark);font-weight:900}.page-content{padding:38px}.page-head,.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.page-head{margin-bottom:28px}.page-head h1{margin:0;font-size:38px;letter-spacing:0}.page-head p,.section-title p,.muted{margin:4px 0 0;color:var(--muted)}.section-title{margin:30px 0 16px}.section-title h2,.panel h2{margin:0;font-size:22px}.section-title a{color:var(--primary);font-weight:800;text-decoration:none}.notice-box{margin:0 0 24px;border:1px solid #cde9d7;border-inline-start:5px solid var(--primary);border-radius:var(--radius);background:#f1fbf5;padding:16px 18px}.notice-box strong{display:block;margin-bottom:4px;color:var(--primary-dark);font-size:16px}.notice-box p{margin:0;color:#4d5968}.notice-box.warning{border-color:#f4d28b;border-inline-start-color:var(--warning);background:#fff8e8}.notice-box.warning strong{color:#8a5f0a}.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.help-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px;box-shadow:var(--shadow)}.help-grid h3{margin:0 0 8px;font-size:17px}.help-grid p,.form-help{margin:0;color:var(--muted);font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.metric-card,.panel,.session-card,.content-card,.history-card,.schedule-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{min-height:122px;display:flex;align-items:center;gap:22px;padding:24px}.metric-card p{margin:0;font-size:17px;font-weight:900}.metric-card strong{display:block;margin-top:4px;font-size:36px;line-height:1}.metric-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-size:24px;font-weight:900}.metric-icon.green,.badge.ready,.badge.published,.badge.active{background:#dff5e9;color:var(--primary)}.metric-icon.teal{background:#dff4ef;color:#16876f}.metric-icon.amber,.badge.pending,.badge.processing{background:#fff2cc;color:var(--warning)}.metric-icon.red,.badge.failed,.badge.skipped,.badge.inactive,.badge.disconnected{background:#ffe5e5;color:var(--danger)}.content-grid{display:grid;gap:20px}.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.explorer-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start}.folder-panel{position:sticky;top:112px}.folder-tree{display:grid;gap:8px;margin-top:12px}.folder-button{width:100%;min-height:42px;justify-content:space-between;border:1px solid var(--line);border-radius:8px;background:#fff;color:#4d5968;padding:9px 12px;font-weight:800}.folder-button.active,.folder-button:hover{background:#e4f5eb;border-color:#cde9d7;color:var(--primary-dark)}.folder-count{color:var(--muted);font-size:12px}.selected-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;color:var(--muted)}.selected-strip strong{color:var(--text);overflow-wrap:anywhere}.small-action{min-height:34px;padding:6px 10px;font-size:13px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:18px}.card-list{display:grid;gap:14px}.panel,.session-card,.content-card,.history-card,.schedule-card{padding:24px}.session-card,.content-card,.history-card,.schedule-card{display:grid;gap:16px}.card-top{display:flex;justify-content:space-between;gap:14px}.identity{display:flex;gap:14px;min-width:0}.identity-icon{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#e5f7ec;color:var(--primary);font-size:24px;font-weight:900}.card-title{margin:0;font-size:18px;font-weight:900;overflow-wrap:anywhere}.meta{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.badge{width:fit-content;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:900}.button-row{display:flex;flex-wrap:wrap;gap:10px}.primary-button,.secondary-button,.danger-button,.icon-button{min-height:42px;border:1px solid transparent;border-radius:8px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:900;text-decoration:none;white-space:nowrap}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-dark)}.secondary-button{background:#fff;border-color:var(--line-strong);color:#4d5968}.secondary-button:hover{background:#f3f7f6}.danger-button{background:#fff5f5;border-color:#ffd0d0;color:var(--danger)}.icon-button{width:44px;padding:0;border-color:var(--line);background:#f8faf9;color:#526070}.mobile-menu{display:none}.full{width:100%}.form-stack{display:grid;gap:16px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-line{display:flex;align-items:center;gap:8px;color:var(--text)}.check-line input,.check-grid input{width:auto}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.check-grid label{display:flex;align-items:center;gap:8px;color:var(--text)}.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;gap:14px;align-items:end;margin-bottom:22px}.details-list{display:grid;gap:14px;margin:0}.details-list div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.details-list dt{color:var(--muted);font-weight:800}.details-list dd{margin:0;font-weight:900;overflow-wrap:anywhere}.small-text{font-size:13px}.modal{width:min(520px,calc(100vw - 28px));border:0;background:transparent;padding:0}.modal::backdrop{background:#10182857}.modal-card{display:grid;gap:20px;border-radius:16px;background:#fff;padding:24px;box-shadow:0 24px 80px #10182838}.modal-head{display:flex;justify-content:space-between;gap:14px}.modal-head h2{margin:0}.qr-box{min-height:260px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);background:#fbfdfc;overflow:hidden}.qr-box img,.qr-box svg{max-width:100%;height:auto}.response-box{min-height:360px;max-height:560px;overflow:auto;margin:0;border-radius:var(--radius);background:#111820;color:#ddf9ec;padding:16px;font-size:13px}.request-line{min-height:34px;color:var(--muted);overflow-wrap:anywhere}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px;color:var(--muted);text-align:center;background:#fff}.toast-region{position:fixed;right:22px;bottom:22px;z-index:50;display:grid;gap:10px}.toast{width:min(420px,calc(100vw - 44px));border-radius:var(--radius);padding:14px 16px;background:#111820;color:#fff;box-shadow:var(--shadow)}.toast.error{background:#8f1d1d}.eyebrow{margin:0 0 4px;color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase}@media (max-width: 1180px){.app-screen{grid-template-columns:250px minmax(0,1fr)}.metric-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid.two,.content-grid.three,.explorer-layout,.help-grid,.filter-bar{grid-template-columns:1fr}.folder-panel{position:static}}@media (max-width: 820px){.auth-wrap,.app-screen{grid-template-columns:1fr}.auth-brand{min-height:260px;padding:34px}.auth-card,.page-content{padding:24px}.app-sidebar{position:fixed;z-index:30;transform:translate(100%);transition:transform .18s ease}.app-screen.sidebar-open .app-sidebar{transform:translate(0)}.mobile-menu{display:inline-flex}.metric-grid,.cards-grid,.field-row,.check-grid{grid-template-columns:1fr}.page-head,.section-title,.card-top{align-items:stretch;flex-direction:column}.app-header{padding:0 18px}}
