
@font-face{font-family:Yekan;src:url('fonts/Yekan.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:Yekan,Tahoma,Arial,sans-serif;color:#172c42;background:#f3f6fb}*{box-sizing:border-box}
.main{min-width:0}label{display:block}input,select,textarea{max-width:100%;padding:9px;border:1px solid #bcc9d8;border-radius:7px;font:inherit}label input,label select{display:block;width:100%}select[multiple]{min-height:130px}
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:16px;background:#fff;border-radius:12px;margin-bottom:16px}.filters label{flex:1 1 145px}
.uploads{margin-top:18px;border:1px solid #bcc9d8;border-radius:8px;display:grid;gap:10px}.attachment-row{display:flex;align-items:center;gap:16px;padding:10px;flex-wrap:wrap}
.status-dot{display:inline-block;width:12px;height:12px;min-width:12px;border-radius:50%;border:1px solid #0003;vertical-align:middle;background:#64748b}
.status-published{background:#08833c;box-shadow:0 0 0 2px #08833c30}.status-doing{background:#159947;animation:pulse-status 2.8s ease-in-out infinite}
.status-idea{background:#facc15}.status-recording{background:#f58b16;animation:pulse-status 2.8s ease-in-out infinite}.status-in_progress{background:#f58b16;animation:pulse-status 2.8s ease-in-out infinite}.status-cover{background:#9940d9}.status-publish_queue{background:#2374e1}.status-stopped{background:#dc2626}.status-cancelled{background:#18181b}
@keyframes pulse-status{0%,30%,100%{opacity:1}50%,75%{opacity:0}}
@media(prefers-reduced-motion:reduce){.status-dot{animation:none}}
.calendar-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.calendar-toolbar h2{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;grid-template-rows:36px repeat(var(--weeks),minmax(130px,1fr))}
.weekday{text-align:center;font-weight:bold;background:#153b60;color:white;padding:8px}.calendar-day{min-width:0;min-height:0;background:white;border:1px solid #cbd5e1;border-radius:6px;padding:6px;display:flex;flex-direction:column}.calendar-day.outside{background:#e7edf4;color:#65758a}.calendar-day.today{outline:2px solid #1567ba;outline-offset:-2px}.day-number{font-weight:bold;padding-bottom:5px;flex-shrink:0}.day-number small{font-weight:normal;font-size:.7em}.day-items{overflow:auto;min-height:0;max-height:220px;scrollbar-width:thin}
.content-card{display:block;background:#f4f8fe;border:1px solid #d3e0ec;border-radius:6px;padding:8px;margin-bottom:6px;color:#17324d;text-decoration:none;overflow-wrap:anywhere}.content-card strong,.content-card span,.content-card small{display:block}.content-card strong .status-dot{display:inline-block}.content-card small{font-size:.8em;margin-top:5px}.content-card p{font-size:.9em;margin:8px 0}
.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 0;font-size:12px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;overflow:auto}.kanban-column{background:#e5edf5;padding:10px;border-radius:10px}.kanban-column h2{font-size:1.05rem}.kanban select{width:100%;margin:7px 0}
.tv-calendar{margin:0;padding:12px;height:100dvh;display:flex;flex-direction:column;overflow:hidden;font-size:clamp(14px,1.05vw,27px)}.tv-calendar .calendar-toolbar{flex-shrink:0}.tv-calendar .calendar-toolbar h2{font-size:1.7em}.tv-calendar #calendar-container{flex:1;min-height:0}.tv-calendar .calendar-grid{height:100%;grid-template-rows:2em repeat(var(--weeks),minmax(0,1fr))}.tv-calendar .day-items{max-height:none;flex:1}.tv-calendar .content-card{padding:5px;margin-bottom:4px}.tv-calendar .status-dot{width:14px;height:14px;min-width:14px}.tv-calendar .calendar-legend{flex-shrink:0;font-size:.78em;padding:8px 0;gap:10px}.tv-calendar .button{padding:8px 14px;background:#dce8f6;border-radius:6px;text-decoration:none;color:#17324d}.screen-filters{font-size:.8em;margin-bottom:5px}
@media(max-width:700px){.calendar-grid{gap:2px}.calendar-day{padding:3px}.content-card{font-size:11px;padding:4px}.weekday{font-size:11px}.calendar-toolbar{gap:8px}}

.tv-calendar .content-card strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tv-calendar .content-card>span,.tv-calendar .content-card>small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

.file-picker{position:relative;display:inline-block;background:#e2ecf7;color:#183b5d;padding:10px;border-radius:7px;width:fit-content;cursor:pointer}
.file-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.file-picker:focus-within{outline:2px solid #1264ae}.file-name{font-size:.9em;color:#46576d}

/* Shared visual language, including standalone login and office display. */
:root{--primary:#225c87;--primary-soft:#e8f2f8;--text:#24364b;--muted:#62758b;--border:#dce5ef;--surface:#fff;--panel:#f4f8fc;--bg:#f3f6fa}
body{font-size:16px;line-height:1.65;background:radial-gradient(ellipse at 15% 0%,#e6eef9 0,transparent 45%),var(--bg);color:var(--text);font-family:Yekan,Tahoma,Arial,sans-serif}
button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
::selection{background:#c7e4f1;color:#16394c}
:focus-visible{outline:3px solid #279cb2;outline-offset:3px}
.sidebar{width:238px;background:linear-gradient(165deg,#17364f,#102538 75%);border:0;padding:22px 16px;box-shadow:-6px 0 24px #19354a0a}
.brand{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:6px 10px 23px;font-family:Arial,sans-serif;font-size:30px;letter-spacing:-1px}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(135deg,#65d6cf,#a4eee2);color:#13394a;border-radius:12px;font-size:24px;box-shadow:0 5px 18px #0002}
.brand small{flex-basis:100%;font-family:Yekan,Tahoma,sans-serif;font-size:13px;letter-spacing:0;color:#b8cad8;font-weight:400}
.nav{gap:4px}.nav a{font-size:15px;padding:10px 14px;color:#c9d8e5;border:1px solid transparent;border-radius:10px}
.nav a:hover{background:#ffffff0d;color:#fff}.nav a[aria-current=page]{background:#ffffff15;color:#fff;border-color:#ffffff16;box-shadow:inset -3px 0 #73dfd0}
.header{min-height:88px;background:#ffffffdf;padding:20px 30px;border-bottom:1px solid #dce5ef}
.page-title{font-size:25px;letter-spacing:-.4px}.user-tag{background:#edf5f8;border:1px solid #dcebf0;font-size:14px;font-weight:400}
.content{padding:26px 30px}.content>p:first-child{color:var(--muted);font-size:14px}.content>.card+.card{margin-top:20px}
.card,.filters{border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px #19354a05;background:white}
.card{padding:24px}.card h2,.card h3{color:#234b66}.module-box{background:linear-gradient(135deg,#f7fafc,#edf5f8);border:1px solid #dbe8ef;border-radius:14px;padding:20px}
.module-box strong{color:#235a79}.filters{padding:18px;gap:16px}.filters label{font-size:14px;color:#52677b}
input,select,textarea{border:1px solid #cfdae6;border-radius:9px;background:#fbfcfe;color:var(--text);padding:10px 12px;transition:border-color .18s,box-shadow .18s}
input:focus,select:focus,textarea:focus{border-color:#3a93ae;box-shadow:0 0 0 3px #2995ae15;outline:none;background:#fff}
input[type=checkbox],input[type=radio]{accent-color:#225c87}textarea{line-height:1.8}
.button,.logout-btn,.login-page .btn{border-radius:10px;padding:10px 18px;background:linear-gradient(135deg,#27688e,#215575);color:white;box-shadow:0 3px 8px #1f4e7915;transition:background .18s,box-shadow .18s;font-size:15px;line-height:1.5}
.button:hover,.logout-btn:hover,.login-page .btn:hover{background:#174b6b;box-shadow:0 5px 14px #1f4e7926;text-decoration:none}
.button.secondary{background:#eff4f8;color:#36536b;border:1px solid #dce5ef;box-shadow:none}.button.secondary:hover{background:#e4edf4}
table{font-size:14px}thead{background:#f1f6fa;color:#486278}th{font-weight:600;white-space:nowrap}td{line-height:1.8}tbody tr:hover{background:#f5f9fc}td a{font-weight:600}table .button{font-size:13px;padding:7px 12px}
.message{border-radius:12px}.footer{color:#78889b;font-size:13px}.file-picker{background:#eaf3f8;border:1px dashed #9ebdce;border-radius:10px}.uploads{border-style:dashed;border-color:#c5d5e2;padding:14px;border-radius:12px}
.calendar-toolbar{padding:4px 0 10px}.calendar-toolbar h2{color:#264e69}.calendar-grid{gap:6px}.weekday{background:#204761;border-radius:7px;font-size:14px;padding:5px}
.calendar-day{border-color:#dae4ee;border-radius:10px;padding:8px}.calendar-day.outside{background:#eaf0f5}.calendar-day.today{background:#f3fbfc;outline-color:#258d9d}.day-number{color:#48677e}.today .day-number{color:#137582}
.content-card{background:#fff;border:1px solid #dce6ee;border-inline-start:3px solid #89b2c8;border-radius:9px;box-shadow:0 2px 5px #19354a06;padding:10px;transition:border-color .18s,box-shadow .18s}
a.content-card:hover{border-color:#91b4c9;box-shadow:0 4px 12px #19354a12;text-decoration:none}.content-card strong{font-size:.95em;color:#203f56}.content-card>span,.content-card small,.content-card p{color:#5c7184}.status-dot{margin-inline-end:4px}
.calendar-legend{color:#496075;font-size:13px;gap:12px 18px}.kanban{gap:16px;padding-bottom:12px}.kanban-column{background:#edf2f7;border:1px solid #dce5ee;border-top:3px solid #e0b949;border-radius:14px;padding:12px}
.kanban-column:nth-child(2){border-top-color:#ec9441}.kanban-column:nth-child(3){border-top-color:#e57f31}.kanban-column:nth-child(4){border-top-color:#a37bc9}.kanban-column:nth-child(5){border-top-color:#538bca}
.kanban-column h2{display:flex;align-items:center;justify-content:space-between;margin:3px 0 17px;font-size:17px}.kanban-column h2 small{background:#fff;border:1px solid #dce5ee;padding:0 9px;border-radius:7px;color:#587087}.kanban-column>p{font-size:14px;color:#718298;text-align:center;padding:22px 2px}.kanban .content-card{border-inline-start-width:1px;padding:14px;margin-bottom:12px}.kanban .button{width:100%}.kanban label{font-size:13px}
.tv-calendar{line-height:1.35;background:#edf3f8}.tv-calendar .calendar-toolbar{padding:0}.tv-calendar .weekday{font-size:inherit;padding:3px}.tv-calendar .calendar-day{padding:6px}.tv-calendar .calendar-legend{font-size:.78em}.tv-calendar .content-card{padding:5px;border-radius:6px}.tv-calendar .content-card strong{font-size:1em}
.login-page{background:radial-gradient(ellipse at 15% 15%,#24627b 0,transparent 55%),linear-gradient(130deg,#142e45,#112437);min-height:100vh}.login-page .panel{border:1px solid #ffffff70;border-radius:24px;box-shadow:0 24px 80px #061a2b55;padding:38px;max-width:460px}.login-brand{font-family:Arial,sans-serif;font-size:46px;letter-spacing:-2px;font-weight:700;text-align:center;color:#205774}.login-page h1{font-size:23px;margin:10px 0 0;color:#29475d}.login-intro{text-align:center;color:#718496;margin:8px 0 28px;font-size:15px}.login-page input{font-size:16px}.login-page .btn{padding:14px}.login-page label{font-size:15px}
@media(min-width:901px){.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}.header{flex-wrap:wrap}}
@media(max-width:900px){.sidebar{width:100%;padding:16px}.brand{padding:0 4px 12px;font-size:25px}.brand small{flex-basis:auto;margin-inline-start:auto}.nav{flex-direction:row;flex-wrap:wrap;gap:5px}.nav a{padding:7px 10px;font-size:14px}.header{padding:18px 20px;gap:12px}.header-right{flex-wrap:wrap}.content{padding:18px}.card{padding:18px}}
@media(max-width:700px){.calendar-grid{gap:2px}.calendar-day{padding:3px;border-radius:5px}.content-card{padding:4px;font-size:11px}.weekday{font-size:11px}.calendar-legend{font-size:11px}.login-page .panel{padding:26px}.brand small{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.status-dot{animation:none}}
