:root { --ink:#151515; --muted:#6c6a63; --paper:#f5f3ed; --card:#fff; --yellow:#ffe000; --yellow-soft:#fff8bc; --black:#101010; --line:#e4e0d6; --danger:#a43d32; --shadow:0 20px 55px rgba(31,27,17,.08); --soft-shadow:0 10px 28px rgba(31,27,17,.06); }
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(circle at 88% -10%,rgba(255,224,0,.18),transparent 28rem),linear-gradient(180deg,#faf9f5 0,var(--paper) 30rem); color:var(--ink); font:16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; }
main { max-width:1280px; margin:auto; padding:34px 28px 90px; }
h1,h2,h3,p { margin-top:0; }
.card,.publication { background:rgba(255,255,255,.96); border:1px solid rgba(215,210,198,.75); border-radius:22px; box-shadow:var(--soft-shadow); }
.login { max-width:430px; margin:7vh auto; padding:38px; }
.login-logo { display:block; width:82px; height:82px; margin-bottom:22px; border-radius:12px; object-fit:cover; }
.login p,.toolbar p { color:var(--muted); }
label { display:block; margin:18px 0 6px; font-weight:700; }
input,textarea,select { width:100%; padding:14px 15px; border:1px solid #d7d2c6; border-radius:13px; background:#fff; font:inherit; transition:border-color .18s,box-shadow .18s,background .18s; }
input:focus,textarea:focus,select:focus { outline:0; border-color:#c3aa00; box-shadow:0 0 0 4px rgba(255,224,0,.2); }
button,.button { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--black); border-radius:12px; padding:13px 18px; background:var(--black); color:var(--yellow); text-decoration:none; font:800 14px/1 system-ui; cursor:pointer; transition:transform .18s,box-shadow .18s,background .18s; }
button:hover,.button:hover { background:#242424; }
button:not(:disabled):active,.button:active { transform:translateY(1px); }
button:disabled { opacity:.55; cursor:wait; }
.login button { width:100%; margin-top:22px; }
.ghost { background:transparent; color:var(--black); }
.identity { display:flex; align-items:center; gap:14px; }
.identity img { width:58px; height:58px; border-radius:9px; object-fit:cover; }
header,.toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; }
header { padding:4px 2px 8px; }
.eyebrow { color:#625800; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
header h1 { margin:3px 0; font-size:34px; }
#days { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(94px,1fr); gap:8px; margin:30px 0; padding:2px 2px 10px; overflow-x:auto; scrollbar-width:thin; scroll-snap-type:x proximity; }
.day { padding:11px 6px; border:1px solid var(--line); background:#fff; color:var(--ink); flex-direction:column; gap:2px; }
.day { scroll-snap-align:center; }
.day:hover { background:var(--yellow-soft); }
.day span { font-size:12px; color:var(--muted); }
.day.active { background:var(--yellow); color:var(--black); border-color:var(--black); }
.day.active span { color:#4d4700; }
.brand-tabs { display:flex; gap:10px; margin:-8px 0 24px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.brand-tab { gap:9px; background:#fff; color:var(--black); border-color:var(--line); }
.brand-tab span { min-width:24px; padding:3px 7px; border-radius:99px; background:#eceae4; font-size:12px; }
.brand-tab.active { background:var(--black); color:var(--yellow); border-color:var(--black); }
.brand-tab.active span { background:var(--yellow); color:var(--black); }
.secondary { background:var(--yellow); color:var(--black); }
.secondary:hover { background:#f2d500; }
.items { display:grid; gap:18px; margin-top:22px; }
.publication { display:grid; grid-template-columns:220px minmax(0,1fr); overflow:hidden; background:linear-gradient(90deg,var(--black) 0 220px,#fff 220px); }
.preview { align-self:start; width:220px; height:390px; background:var(--black); display:grid; place-items:center; color:#bbb; overflow:hidden; }
.preview img { width:100%; height:100%; object-fit:contain; object-position:center; }
.media-file-preview { position:relative; align-content:center; gap:4px; background:radial-gradient(circle at 70% 15%,#3b3829,transparent 38%),var(--black); }
.media-file-preview span { color:var(--yellow); font-size:12px; font-weight:900; letter-spacing:.16em; }
.media-file-preview b { color:#fff; font-size:64px; line-height:1; letter-spacing:-.06em; }
.media-publication .content>h3 { font-size:24px; overflow-wrap:anywhere; }
.ai-state { display:flex; flex-direction:column; gap:3px; margin:14px 0; padding:14px 16px; border:1px solid #eadb77; border-radius:13px; background:#fffbed; }
.ai-state span { color:var(--muted); font-size:14px; }
.content { min-width:0; padding:24px; }
.badges { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:11px; }
.platform,.brand { display:inline-block; padding:5px 9px; border-radius:99px; font-size:12px; font-weight:900; }
.platform { background:#eceae4; color:var(--black); }
.brand { background:var(--yellow); color:var(--black); border:1px solid #d7bd00; }
.brand-academy_stroitelstva { background:var(--black); color:var(--yellow); border-color:var(--black); }
.copy-row { margin:15px 0; }
.copy-row label { display:flex; justify-content:space-between; margin:0 0 6px; }
.copy { padding:4px 8px; background:transparent; color:var(--black); border:0; }
.copy:hover { background:var(--yellow-soft); }
.text { padding:11px 13px; border-radius:7px; background:#f7f6f2; white-space:pre-wrap; overflow-wrap:anywhere; }
.actions,.result-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.thumbnail-tools { margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#faf9f5; }
.description-tools { margin:-4px 0 15px; }
.candidate-description { margin-top:12px; background:#fffbed; border:1px solid #eadb77; }
.regen-form { margin-top:12px; }
.regen-form label { margin-top:0; }
.regen-state { display:flex; flex-direction:column; gap:4px; color:var(--muted); }
.regen-state b,.regen-review b { color:var(--ink); }
.regen-review>img { display:block; width:min(260px,100%); max-height:462px; margin-top:12px; border-radius:9px; background:#111; object-fit:contain; }
.error-state { color:var(--danger); }
.result { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.result-platform { margin-bottom:8px; font-size:13px; font-weight:900; }
.result-grid { display:grid; grid-template-columns:1fr auto auto; gap:9px; align-items:end; }
.danger { background:#f5e5e2; color:var(--danger); border-color:#e7c6c0; }
.danger:hover { background:#efd5d0; }
.done { padding:12px; border-radius:8px; background:var(--yellow-soft); color:var(--black); font-weight:800; }
.skipped { background:#f5e9e6; color:#7e4339; }
.notice,.error { margin-top:15px; color:var(--danger); }
.notice.info { padding:12px 14px; border-left:5px solid var(--yellow); background:#fff; color:var(--black); }
.empty { padding:42px; text-align:center; color:var(--muted); background:#fff; border-radius:16px; }
.muted { color:var(--muted); font-size:14px; }
.main-tabs { display:flex; flex-wrap:wrap; gap:7px; margin:28px 0 34px; padding:7px; border:1px solid rgba(215,210,198,.8); border-radius:17px; background:rgba(255,255,255,.72); box-shadow:0 8px 24px rgba(31,27,17,.04); }
.main-tabs button { min-height:44px; background:transparent; color:var(--ink); border-color:transparent; border-radius:11px; }
.main-tabs button:hover { background:#f1efe8; }
.main-tabs button.active { background:var(--black); color:var(--yellow); border-color:var(--black); box-shadow:0 7px 18px rgba(0,0,0,.14); }
.main-tabs .upload-tab { margin-left:auto; background:var(--yellow); color:var(--black); border-color:#e4c900; box-shadow:0 7px 18px rgba(201,176,0,.18); }
.main-tabs .upload-tab:hover { background:#f4d600; color:var(--black); }
.main-tabs .upload-tab.active { background:var(--black); color:var(--yellow); border-color:var(--black); box-shadow:0 7px 18px rgba(0,0,0,.14); }
[data-panel="upload"]>.toolbar { margin-bottom:20px; }
[data-panel="upload"]>.toolbar h2 { margin-bottom:4px; font-size:clamp(27px,3vw,38px); letter-spacing:-.035em; }
.media-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,.72fr); gap:24px; align-items:start; }
.media-card { padding:clamp(24px,3vw,36px); }
.media-grid>form.media-card { box-shadow:var(--shadow); }
.media-grid>aside.media-card { position:sticky; top:24px; background:linear-gradient(145deg,#171717,#090909); color:#fff; border:0; box-shadow:0 20px 45px rgba(0,0,0,.16); }
.media-grid>aside.media-card h3 { font-size:21px; }
.media-grid>aside.media-card ol { margin:0; padding:0; list-style:none; counter-reset:steps; }
.media-grid>aside.media-card li { position:relative; min-height:46px; padding:2px 0 20px 46px; color:#d7d7d2; counter-increment:steps; }
.media-grid>aside.media-card li:before { content:counter(steps); position:absolute; left:0; top:-3px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--yellow); color:var(--black); font-size:13px; font-weight:900; }
.media-grid>aside.media-card li:not(:last-child):after { content:""; position:absolute; left:14px; top:30px; bottom:2px; width:1px; background:#4a4a46; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.visual-field { margin:0 0 28px; padding:0; border:0; }
.visual-field legend { margin-bottom:12px; font-size:15px; font-weight:850; letter-spacing:.01em; }
.segment-grid,.material-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.option-card { position:relative; margin:0; cursor:pointer; }
.option-card input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.option-card span { position:relative; display:flex; min-height:76px; flex-direction:column; justify-content:center; padding:16px 42px 16px 17px; border:1px solid #e2ded4; border-radius:16px; background:#faf9f6; font-weight:400; transition:.18s ease; }
.option-card span:after { content:""; position:absolute; right:16px; top:50%; width:17px; height:17px; border:2px solid #cbc6ba; border-radius:50%; transform:translateY(-50%); background:#fff; box-shadow:inset 0 0 0 4px #fff; }
.option-card small { margin-top:3px; color:var(--muted); font-size:13px; }
.option-card:hover span { border-color:#c9c2b4; background:#fff; transform:translateY(-1px); box-shadow:0 9px 18px rgba(31,27,17,.06); }
.option-card input:checked+span { border-color:#e0c500; background:linear-gradient(135deg,#ffeb55,var(--yellow)); box-shadow:0 10px 24px rgba(209,181,0,.17); }
.option-card input:checked+span:after { border-color:var(--black); background:var(--black); }
.option-card input:focus-visible+span { outline:3px solid #ffe00088; outline-offset:2px; }
.material-ready span { border-color:#c8dfce; background:#f3faf5; }
.material-ready span b:before { content:"ГОТОВОЕ"; display:block; margin-bottom:5px; color:#287942; font-size:10px; font-weight:900; letter-spacing:.12em; }
.material-ready input:checked+span { border-color:#43a661; background:linear-gradient(135deg,#dff4e5,#bfe7ca); box-shadow:0 10px 24px rgba(44,132,70,.16); }
.material-raw span { border-color:#d9dce1; background:#f5f6f7; }
.material-raw span b:before { content:"ИСХОДНИКИ"; display:block; margin-bottom:5px; color:#6f7782; font-size:10px; font-weight:900; letter-spacing:.12em; }
.material-raw input:checked+span { border-color:#8b96a3; background:linear-gradient(135deg,#eef0f2,#dfe3e7); box-shadow:0 10px 24px rgba(74,83,94,.13); }
.material-mixed span { border-color:#e7d795; background:#fffaf0; }
.material-mixed span b:before { content:"ОБЩАЯ СЪЁМКА"; display:block; margin-bottom:5px; color:#8a6b00; font-size:10px; font-weight:900; letter-spacing:.12em; }
.material-mixed input:checked+span { border-color:#e0c500; background:linear-gradient(135deg,#fff0a6,#ffe04a); }
.delete-package { color:#9b2c2c; border-color:#e5bcbc; }
.urgent-check { padding:14px 16px; border:1px solid #f1d4cc; border-radius:13px; background:#fff4f1; color:var(--danger); }
.upload-submit { width:100%; min-height:54px; margin-top:16px; background:var(--black); color:var(--yellow); border-radius:15px; font-size:16px; box-shadow:0 12px 24px rgba(0,0,0,.14); }
.upload-submit:hover { box-shadow:0 15px 28px rgba(0,0,0,.2); transform:translateY(-1px); }
.disk-connect,.disk-connected { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.disk-connect .button { width:100%; }
.disk-connected { padding:15px; border:1px solid #536a4e; border-radius:13px; background:#21351d; color:#eff8ec; }
.check { display:flex; gap:10px; align-items:center; font-weight:500; }
.check input { width:auto; }
.object-choices { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:8px; }
.object-choices .check { margin:4px 0; }
.field-help { margin:7px 0 18px; color:var(--muted); font-size:13px; }
.folder-preview { margin:14px 0; padding:14px; border-radius:10px; background:#f3f8f1; border:1px solid #b8d0b2; }
.folder-preview ul { max-height:230px; overflow:auto; padding-left:22px; }
.editing-list { display:grid; gap:14px; }
.editing-card { padding:20px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; }
.editing-card h3 { margin-bottom:5px; }
.editing-meta { display:flex; flex-wrap:wrap; gap:8px 16px; color:var(--muted); font-size:14px; }
.editing-actions { display:flex; flex-wrap:wrap; gap:8px; align-content:start; justify-content:flex-end; }
.status-pill { display:inline-block; padding:5px 9px; border-radius:99px; background:#eceae4; font-size:12px; font-weight:800; }
.status-urgent { background:#fbe5df; color:#a43d32; }
.notification { display:flex; justify-content:space-between; gap:15px; margin:0 0 16px; padding:13px 15px; background:#fff8ce; border-left:5px solid var(--yellow); }
.notification-center { margin:-12px 0 30px; padding:20px; border:1px solid #e2d88c; border-radius:20px; background:linear-gradient(135deg,#fffdf0,#fff9c9); box-shadow:var(--soft-shadow); }
.notification-center .notification { margin:10px 0 0; padding:14px 0 0; border:0; border-top:1px solid rgba(141,124,0,.18); background:transparent; }
.notification-head { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.notification-head>div { display:flex; align-items:center; gap:9px; }
.notification-head span,.editing-filters span { min-width:25px; padding:3px 7px; border-radius:99px; background:var(--black); color:var(--yellow); text-align:center; font-size:12px; font-weight:900; }
.notification-head small { color:var(--muted); }
.editing-filters { display:flex; gap:8px; margin:20px 0; padding:6px; overflow-x:auto; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.72); }
.editing-filters button { flex:0 0 auto; gap:9px; background:transparent; color:var(--ink); border-color:transparent; }
.editing-filters button.active { background:var(--black); color:var(--yellow); box-shadow:0 7px 18px rgba(0,0,0,.13); }
.editing-filters button.active span { background:var(--yellow); color:var(--black); }
.task-facts { display:flex; flex-wrap:wrap; gap:10px; margin:15px 0; }
.task-facts>span { min-width:145px; padding:10px 12px; border-radius:12px; background:#f6f4ee; }
.task-facts small,.task-facts b { display:block; }
.task-facts small { margin-bottom:2px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.task-facts b { font-size:14px; }
.task-blocker { padding:12px 14px; border-radius:12px; background:#fff1ed; color:var(--danger); }
.editing-overdue { border-color:#e6aaa0; box-shadow:0 10px 30px rgba(164,61,50,.08); }
.start-deadline { min-width:220px; margin:0; font-size:12px; }
.start-deadline input { margin-top:6px; padding:10px 12px; }
.ready-hint { max-width:290px; padding:12px 14px; border-radius:12px; background:var(--yellow-soft); font-size:13px; }
.ordered-files { margin:12px 0; padding:0; list-style:none; }
.ordered-files li { padding:8px 0; border-bottom:1px solid var(--line); }
.file-order { float:right; display:flex; gap:4px; }
.file-order button { padding:5px 9px; }
.file-progress { height:5px; margin-top:7px; overflow:hidden; border-radius:99px; background:#e8e5dc; }
.file-progress i { display:block; width:0; height:100%; background:#368143; transition:width .15s linear; }
@media (max-width:800px) { #days{grid-auto-columns:minmax(90px,30vw)} .publication{grid-template-columns:1fr;background:#fff} .preview{width:100%;height:min(72vw,430px)} .toolbar{align-items:flex-start;flex-direction:column} .result-grid{grid-template-columns:1fr} .button{width:100%} }
@media (max-width:800px) { .media-grid,.editing-card,.choice-grid{grid-template-columns:1fr}.editing-actions{justify-content:flex-start}.main-tabs button{flex:1 1 42%} }
@media (max-width:480px) { main{padding:18px 12px 60px} .login{padding:25px} .content{padding:17px} header h1{font-size:27px} .identity img{width:48px;height:48px} .eyebrow{font-size:9px} }
