:root{--green:#39FF14;--bg:#090d0a;--bg2:#0e1510;--card:#111811;--border:rgba(57,255,20,.15);--border-bright:rgba(57,255,20,.4);--text:#e8f5e2;--text-dim:#7a9c72;--text-muted:#3d5c38;--white:#fff;--warn:#ffb020;--danger:#ff4d4d;--sidebar-w:220px}
*{box-sizing:border-box;margin:0;padding:0}
body,input,button,textarea,select{font-family:Inter,sans-serif}
body{min-height:100vh;background:var(--bg);color:var(--text);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 60% 50% at 50% -10%,rgba(57,255,20,.1),transparent 70%);pointer-events:none}
.menu-toggle{display:none;position:fixed;top:14px;left:14px;z-index:200;width:40px;height:40px;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--green)}
.menu-toggle svg{width:18px;height:18px}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.65)}.sidebar-overlay.active{display:block}
.main{position:relative;z-index:1;min-height:100vh;margin-left:var(--sidebar-w);padding:30px 36px}
body.sidebar-collapsed,html.sidebar-collapsed{--sidebar-w:76px}
.breadcrumb{display:flex;gap:7px;align-items:center;margin-bottom:20px;font-size:12px;color:var(--text-muted)}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover,.breadcrumb .current{color:var(--green)}
.page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.page-header h1{font-size:24px;font-weight:900;color:var(--white)}.page-header h1 span{color:var(--green)}.page-header p{margin-top:5px;color:var(--text-dim);font-size:12.5px}
.progress-card{min-width:150px;display:grid;justify-items:center;gap:7px;padding:18px 20px;border:1px solid rgba(57,255,20,.48);border-radius:18px;background:linear-gradient(180deg,rgba(57,255,20,.09),rgba(57,255,20,.035));box-shadow:0 14px 34px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.025);text-align:center}.progress-card strong{display:block;color:var(--green);font-size:30px;line-height:1;font-weight:900}.progress-card span{font-size:11px;color:var(--text-dim);font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.workspace-grid{display:grid;grid-template-columns:minmax(520px,1fr) minmax(360px,420px);gap:18px;align-items:start}
.workspace-left{min-width:0}
.panel,.check-section,.actions-bar,.preview-panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px 24px;margin-bottom:16px}
.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);color:var(--green);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.panel-title svg{width:15px;height:15px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;align-items:end}.field-campaign{grid-column:1 / -1}.field-date{max-width:180px}label{display:grid;gap:7px;color:var(--text-dim);font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;min-width:0}
input,textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,rgba(14,21,16,.98),rgba(8,14,10,.98));color:var(--white);font-size:13px;padding:12px 12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}input{height:42px}textarea{resize:none;min-height:88px;overflow:hidden;line-height:1.5}input::placeholder,textarea::placeholder{color:rgba(232,245,226,.42)}input:focus,textarea:focus{border-color:var(--border-bright);box-shadow:0 0 0 3px rgba(57,255,20,.08);background:#0c140e}.notes-label{margin-top:16px}
.date-input-wrap{position:relative}.custom-date-input{padding-right:46px;cursor:pointer}.date-trigger{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:rgba(57,255,20,.08);color:var(--green);cursor:pointer;transition:background .18s ease}.date-trigger:hover{background:rgba(57,255,20,.16)}.date-trigger svg{width:15px;height:15px}
.calendar-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:10000;width:min(312px,calc(100vw - 48px));padding:16px;border:1px solid var(--border-bright);border-radius:18px;background:rgba(11,18,13,.98);box-shadow:0 20px 40px rgba(0,0,0,.45);backdrop-filter:blur(16px)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-title{font-size:13px;font-weight:800;color:var(--white);text-transform:capitalize}.calendar-nav,.calendar-clear,.calendar-close{font-family:Inter,sans-serif;border:none;cursor:pointer}.calendar-nav{width:30px;height:30px;border-radius:8px;background:rgba(57,255,20,.08);color:var(--green);font-size:18px;line-height:1}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{font-size:10px;font-weight:800;color:var(--text-muted);text-align:center;text-transform:uppercase}.calendar-day{height:36px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font-size:12px;font-weight:700;cursor:pointer;transition:all .18s}.calendar-day:hover{border-color:var(--border-bright);background:rgba(57,255,20,.08)}.calendar-day.is-outside{color:var(--text-muted);opacity:.45}.calendar-day.is-selected{background:var(--green);color:#041104}.calendar-day.is-today{border-color:var(--border-bright)}.calendar-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.calendar-clear,.calendar-close{flex:1;padding:9px 10px;border-radius:10px;font-size:12px;font-weight:800}.calendar-clear{background:transparent;color:var(--text-dim);border:1px solid var(--border)}.calendar-close{background:var(--green);color:#041104}
.checklist-wrap{display:grid;gap:16px}.check-section{margin-bottom:0}.check-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.check-head h2{font-size:15px;color:var(--green);font-weight:900}.section-count{font-size:11px;color:var(--text-dim);font-weight:800}
.check-list{display:grid;gap:8px}.check-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 12px;border:1px solid rgba(57,255,20,.1);border-radius:11px;background:#0b120d}.check-item-title{font-size:13px;color:var(--text);font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.check-item-main{display:grid;gap:8px;min-width:0}.detail-input{display:none;max-width:520px}.check-item[data-status="ok"] .detail-input.show{display:block}
.multi-field{display:none;gap:8px;max-width:620px}.check-item[data-status="ok"] .multi-field.show{display:grid}.multi-list{display:grid;gap:7px}.multi-row{display:grid;grid-template-columns:1fr 34px;gap:7px}.multi-remove{border:1px solid rgba(255,77,77,.25);border-radius:8px;background:rgba(255,77,77,.07);color:var(--danger);font-size:18px;font-weight:900;cursor:pointer}.multi-add{justify-self:start;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--green);padding:7px 10px;font-size:11px;font-weight:900;cursor:pointer}
.status-group{display:flex;gap:6px;flex-wrap:nowrap;justify-content:flex-end}.status-btn{min-width:52px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-dim);padding:7px 9px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.status-btn:hover{border-color:var(--border-bright);color:var(--green)}.status-btn.active.ok{background:var(--green);border-color:var(--green);color:#061006}.status-btn.active.review{background:rgba(255,176,32,.14);border-color:rgba(255,176,32,.55);color:var(--warn)}.status-btn.active.na{background:rgba(255,255,255,.07);color:var(--text)}
.actions-bar{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:28px;padding:24px 28px;border-color:rgba(57,255,20,.22);background:linear-gradient(180deg,rgba(17,24,17,.96),rgba(10,16,11,.96));box-shadow:0 18px 45px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.02) inset}
.actions-copy{display:grid;gap:6px;min-width:210px}.actions-copy strong{color:var(--white);font-size:13px;font-weight:900}.actions-copy span{color:var(--text-dim);font-size:11.5px;font-weight:700;line-height:1.45}.actions-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-width:226px}.actions-buttons .primary{grid-column:1 / -1}
.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;border:1px solid var(--border);padding:10px 15px;font-size:12px;font-weight:900;line-height:1;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.btn.primary{background:var(--green);color:#061006;border-color:var(--green);box-shadow:0 0 22px rgba(57,255,20,.18)}.btn.success{background:rgba(57,255,20,.1);color:var(--green);border-color:rgba(57,255,20,.38)}.btn.secondary{background:rgba(255,255,255,.03);color:var(--text-dim);border-color:rgba(255,255,255,.08)}.btn:hover{transform:translateY(-1px);filter:none}.btn.primary:hover{box-shadow:0 0 28px rgba(57,255,20,.28)}.btn.secondary:hover,.btn.success:hover{border-color:var(--border-bright);color:var(--green);background:rgba(57,255,20,.08)}
.preview-panel{position:sticky;top:22px;max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden}
.preview-toolbar{margin-top:-6px;margin-bottom:14px;color:var(--text-dim);font-size:11.5px;font-weight:800}
.preview-document{flex:1;min-height:360px;max-height:calc(100vh - 178px);overflow:auto;border:1px solid rgba(57,255,20,.2);border-radius:12px;background:linear-gradient(180deg,#fffffb,#f3f7f1);color:#101510;padding:30px;font-family:Arial,sans-serif;font-size:12px;line-height:1.48;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}
.preview-document::-webkit-scrollbar{width:10px}.preview-document::-webkit-scrollbar-track{background:#eef3ec;border-radius:999px}.preview-document::-webkit-scrollbar-thumb{background:#8c9788;border:2px solid #eef3ec;border-radius:999px}.preview-document::-webkit-scrollbar-thumb:hover{background:#687466}
.preview-document table{table-layout:fixed}.preview-document td:first-child{width:72%;overflow-wrap:anywhere}.preview-document td:last-child{width:28%}
.preview-document h1{max-width:100%;font-size:21px;color:#155001;margin:0 0 14px;line-height:1.22;overflow-wrap:normal}
.preview-document h2{font-size:14px;color:#155001;margin:20px 0 8px;border-bottom:2px solid #39FF14;padding-bottom:5px;line-height:1.3}
.preview-document p{margin:5px 0}.preview-document table{width:100%;border-collapse:separate;border-spacing:0;margin-top:8px;border:1px solid #b9c1b5;border-radius:6px;overflow:hidden}
.preview-document td{border:0;border-bottom:1px solid #c8d0c4;padding:8px 9px;vertical-align:top}
.preview-document tr:last-child td{border-bottom:0}.preview-document td+td{border-left:1px solid #c8d0c4;background:#f7faf5;text-align:center}
.preview-document .status-ok{color:#1A5C02;font-weight:bold}.preview-document .status-review{color:#a86800;font-weight:bold}.preview-document .status-na{color:#555;font-weight:bold}.preview-document .status-pending{color:#999;font-weight:bold}
.preview-document .preview-active{outline:2px solid var(--green);outline-offset:3px;box-shadow:0 0 0 6px rgba(57,255,20,.16);background:rgba(57,255,20,.08)}
.toast{position:fixed;right:24px;bottom:24px;z-index:999;padding:13px 18px;border:1px solid var(--border-bright);border-radius:12px;background:#0f1810;color:var(--white);font-size:12px;font-weight:800;opacity:0;transform:translateY(60px);transition:.25s}.toast.show{opacity:1;transform:translateY(0)}
.notice-modal{position:fixed;inset:0;z-index:50000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}.notice-modal[hidden]{display:none}.notice-card{width:min(480px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:26px;padding:28px 30px 24px;border:1px solid rgba(57,255,20,.34);border-radius:16px;background:linear-gradient(180deg,#111b13,#09110b);box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.04) inset;color:var(--text)}.notice-card h2{margin:0 0 12px;color:var(--green);font-size:15px;font-weight:900}.notice-card p{max-width:340px;margin:0;color:var(--white);font-size:13px;font-weight:700;line-height:1.45}.notice-ok{min-width:82px;height:44px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#061006;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 0 24px rgba(57,255,20,.22);transition:transform .18s ease,box-shadow .18s ease}.notice-ok:hover,.notice-ok:focus{transform:translateY(-1px);box-shadow:0 0 32px rgba(57,255,20,.35);outline:none}
@media(max-width:1180px){.workspace-grid{grid-template-columns:1fr}.preview-panel{position:static;max-height:none;overflow:visible}.preview-document{min-height:420px;max-height:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-campaign{grid-column:1 / -1;max-width:none}}
@media(max-width:1000px){.check-item{grid-template-columns:1fr}.status-group{justify-content:flex-start}}
@media(max-width:768px){.menu-toggle{display:flex}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding:64px 14px 18px}.panel,.check-section,.actions-bar,.preview-panel{padding:16px 14px;border-radius:12px}.form-grid{grid-template-columns:1fr}.form-grid label{grid-column:1/-1}.check-item{grid-template-columns:1fr}.status-group{justify-content:stretch}.status-btn{flex:1}.actions-bar{position:static;align-items:stretch}.actions-copy{text-align:left}.actions-buttons,.btn{width:100%}.preview-document{padding:18px;min-height:360px}}
@media(max-width:620px){.actions-bar{flex-direction:column}.actions-buttons{display:grid;grid-template-columns:1fr}.btn{min-height:44px}}
@media(max-width:520px){.notice-card{align-items:stretch;flex-direction:column;padding:22px}.notice-card p{max-width:none}.notice-ok{width:100%}}
