:root{--ink:#20372f;--muted:#7d8983;--line:#e4e8e0;--green:#275b46;--bg:#f6f7f2;--orange:#b87236}*{box-sizing:border-box}body{margin:0;font:14px 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}aside{position:fixed;width:245px;inset:0 auto 0 0;background:#eef1e8;border-right:1px solid #dde3d8;padding:35px 24px;display:flex;flex-direction:column}.brand{font-size:30px;color:var(--green);text-decoration:none;letter-spacing:-1.5px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin:7px 0 0 36px}.workspace{margin-top:40px;padding:17px 12px;border:1px solid #d9e0d4;border-radius:10px;background:#f6f8f1;font-weight:700}.workspace small{display:block;font-size:11px;color:var(--muted);margin-top:6px;font-weight:400}nav{margin-top:26px;display:grid;gap:7px}nav button{display:flex;gap:13px;align-items:center;border:0;background:transparent;text-align:left;padding:13px;border-radius:8px;color:#6d7c70;font-size:19px}nav button span{font-size:13px}nav button.active{background:#dce6d7;color:var(--green);font-weight:800}.side-bottom{margin-top:auto}.online{font-size:11px;color:#65876c}.side-bottom p{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:-.5px}.avatarline{display:flex;align-items:center;gap:10px;border-top:1px solid #d7dece;padding-top:20px;font-size:12px}.avatarline small{display:block;font-size:10px;color:var(--muted);margin-top:4px}i.avatar,i{font-style:normal;display:inline-grid;place-items:center;border-radius:50%;background:#e2e9dc;width:34px;height:34px;color:#4b674c;font-size:11px;font-weight:800;flex-shrink:0}main{margin-left:245px}header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px}.crumb{color:var(--muted)}.crumb span{margin:0 13px}.crumb b{font-weight:500;color:var(--ink)}.header-right{display:flex;align-items:center;gap:18px;color:var(--muted)}.demo{font-size:9px;letter-spacing:1px;border:1px solid #d9decf;border-radius:5px;padding:5px 8px;color:#75815e}.content{padding:35px 40px;max-width:1600px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:800;color:#778866}h1{font-size:31px;letter-spacing:-1.2px;margin:10px 0}h2{font-size:19px;letter-spacing:-.5px;margin:0}p{color:var(--muted);font-size:12px;line-height:1.7}.intro p{margin:8px 0}.primary{background:var(--green);border:0;color:white;border-radius:7px;padding:12px 19px;font-size:12px;font-weight:700;white-space:nowrap}.primary:hover{background:#34765b}.notice{font-size:10px;color:#7c876e;margin:20px 0 23px;border-left:2px solid #c4cead;padding-left:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 25px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px 21px}.stat:first-child{background:#e9efdf;border-color:#dce5cf}.stat-label{font-size:11px;color:#73816f}.stat-value{font-size:34px;letter-spacing:-1.5px;margin:12px 0 6px;font-weight:700}.stat small{font-size:10px;color:var(--muted)}.stat-value.warn{color:var(--orange)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panelhead{padding:22px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panelhead span{font-size:10px;color:var(--muted)}.panelhead button,.textbutton{color:var(--green);font-size:11px;border:0;background:none;font-weight:700}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}.filters select,.filters input{background:#fff;border:1px solid var(--line);border-radius:7px;padding:10px 12px;color:var(--ink);font-size:11px}.filters input{flex:1;min-width:160px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:#f8f9f5;color:#8a9486;font-size:9px;font-weight:500;letter-spacing:.5px;padding:12px 19px;border-block:1px solid var(--line);white-space:nowrap}td{padding:17px 19px;border-bottom:1px solid #eef0e9;font-size:11px}tr:last-child td{border-bottom:0}.taskname{font-weight:700;line-height:1.5;min-width:170px}.taskname small{display:block;font-weight:400;color:var(--muted);font-size:9px;margin-top:5px}.person{display:flex;align-items:center;gap:8px;white-space:nowrap}.person i{width:27px;height:27px;font-size:9px}.badge{display:inline-block;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:700;white-space:nowrap}.done{background:#e8f1e5;color:#4d7b4b}.late{background:#f9e9dd;color:#b16c39}.progress{background:#f5f0d9;color:#9d873d}.planned{background:#eef0ed;color:#7a8677}.date{white-space:nowrap;font-size:10px}.date small{display:block;color:var(--muted);margin-top:4px}.action{border:1px solid var(--line);background:white;border-radius:5px;color:var(--green);padding:6px 9px;font-size:10px;white-space:nowrap}.rail{display:grid;gap:18px;align-content:start}.department{padding:0 22px 20px}.department-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:9px}.bar{height:5px;border-radius:9px;background:#edf0e8;overflow:hidden}.bar span{display:block;height:100%;background:#92ab77;border-radius:9px}.department small{font-size:9px;color:var(--muted);display:block;margin-top:7px}.callout{background:#e9eddf;border:1px solid #dfe5d2;border-radius:12px;padding:22px}.callout h2{font-size:16px;line-height:1.5}.callout p{font-size:11px;color:#6d7b5f}.callout .eyebrow{margin-bottom:12px}.empty{padding:40px;text-align:center;color:var(--muted);font-size:12px}.teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.employee{padding:22px}.employee .person{font-size:13px;font-weight:700}.employee p{font-size:11px}.employee label{font-size:10px;color:var(--muted)}.employee select{margin-top:8px;padding:9px;width:100%;border:1px solid var(--line);border-radius:5px;background:#fff}.full{width:100%}footer{display:flex;align-items:center;gap:20px;padding:20px 40px;font-size:12px;color:#9aa28e;border-top:1px solid var(--line);margin-top:20px}footer span{font-size:10px}footer button{margin-left:auto;font-size:10px;border:0;background:transparent;color:#889477}dialog{border:0;border-radius:14px;padding:27px;width:520px;max-width:94vw;max-height:90vh;box-shadow:0 20px 100px #18372533}dialog::backdrop{background:#16362b66;backdrop-filter:blur(3px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialoghead h2{margin-top:8px}.close{border:0;background:#f1f4ed;border-radius:50%;font-size:24px;width:32px;height:32px;color:#64765d}label{display:block;font-size:11px;color:#67755f;margin-bottom:15px}label input,label select,label textarea{display:block;width:100%;border:1px solid #dce3d6;border-radius:6px;background:white;padding:10px;margin-top:6px;color:var(--ink);font-size:12px}textarea{height:80px;resize:vertical}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.hint{font-size:10px;line-height:1.7}.savedlink{display:block;padding:10px 0;color:var(--green);font-size:12px;overflow-wrap:anywhere}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#244c3a;color:white;border-radius:9px;padding:13px 22px;display:none;z-index:5;font-size:12px}.summary{padding:23px;border-top:1px solid var(--line)}.summary h3{margin-top:0;font-size:13px}.summary p{font-size:11px}.summary pre{white-space:pre-wrap;font:12px/1.9 'Segoe UI',Arial,sans-serif;background:#f6f8f2;border-radius:8px;padding:18px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.toolbar label{margin:0}.toolbar select{padding:8px;border:1px solid var(--line);border-radius:6px;background:white;font-size:11px}.warning{color:#a36e35;font-size:10px}.spacer{margin-top:22px}button:focus-visible,a:focus-visible{outline:3px solid #a3b78c;outline-offset:3px}@media(min-width:1500px){h1{font-size:36px}.content{padding:40px 50px}.layout{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1150px){aside{width:200px;padding:30px 18px}main{margin-left:200px}.content{padding:25px}.layout{grid-template-columns:1fr}.rail{grid-template-columns:1fr 1fr}.stats{gap:10px}.stat{padding:16px}.teamgrid{grid-template-columns:1fr 1fr}}@media(max-width:760px){aside{position:static;width:100%;padding:16px;border-right:0}.brand{font-size:24px}.brand span,.workspace,.side-bottom{display:none}nav{display:flex;margin-top:15px;gap:4px}nav button{padding:9px;gap:6px;font-size:14px}nav button span{font-size:10px}main{margin-left:0}header{height:53px;padding:0 20px}.header-right #today{display:none}.content{padding:23px 17px}.intro{align-items:start}.intro .primary{font-size:10px;padding:10px}h1{font-size:23px}.eyebrow{font-size:8px}.stats{grid-template-columns:1fr 1fr}.rail{grid-template-columns:1fr}.teamgrid{grid-template-columns:1fr}.panelhead{padding:18px}td,th{padding:12px}footer{padding:17px}footer span{display:none}.formgrid{grid-template-columns:1fr}}
[hidden]{display:none!important}

#browserInbox{width:680px}.inbox-item{border-top:1px solid var(--line);padding:16px 12px}.inbox-item.unread{background:#eef4e8}.inbox-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 'Segoe UI',Arial,sans-serif;margin:7px 0}.notification-option{display:flex;gap:10px;align-items:center;font-size:12px}.notification-option input{width:auto;margin:0}.toolbar{flex-wrap:wrap}#browserUnread{background:#dce6d7;border-radius:12px;padding:2px 6px}nav{overflow-x:auto}

.period-toolbar{border:1px solid var(--line);border-radius:12px;padding:22px;background:#eef2e7;margin:0 0 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}.period-toolbar h2{text-transform:capitalize;margin-top:8px}.period-toolbar p{width:100%;margin:0}.period-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.period-controls input,.period-controls select{border:1px solid #d5dfce;border-radius:6px;background:white;padding:9px;font-size:12px;color:var(--ink)}.cycle-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cycle-card{padding:22px}.cycle-card h2{font-size:28px;margin-top:12px}.cycle-card p{margin:8px 0 16px}@media(max-width:760px){.cycle-cards{grid-template-columns:1fr}.period-toolbar{padding:15px}.period-controls{width:100%}.period-controls input{max-width:155px}}

.ai-turn{padding:16px 0;border-bottom:1px solid var(--line)}.ai-turn pre,.ai-prompt{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 'Segoe UI',Arial,sans-serif;background:#f5f7f0;padding:14px;border-radius:8px}.ai-prompt{max-height:440px;overflow:auto}#aiMessages{max-height:540px;overflow:auto;margin-bottom:22px}

/* Rating thresholds and confirmed deadline failures. */
.rating-low td{background:#fff0ef;color:#8e2727}.rating-high td{background:#edf7ec;color:#235a31}.rating-low a,.rating-high a{color:inherit}.rating-low td:nth-child(2),.rating-high td:nth-child(2){font-weight:700}nav{overflow-x:hidden}
/* Soft daylight: lavender, blush and sky accents. */
:root{--ink:#302b46;--muted:#716c82;--line:#e8e3f0;--green:#7053b0;--bg:#faf9fd;--orange:#a06528;--lavender:#f0eafa;--blush:#fcecf4;--sky:#eaf4fc}
body{background:linear-gradient(135deg,#faf9fd 30%,#fff8fc 75%,#f2f8fe);background-attachment:fixed}
aside{background:linear-gradient(180deg,#f4effc,#faf3f8 65%,#eef6fd);border-color:var(--line)}
.brand{color:#7053b0}.workspace{background:#ffffffb8;border-color:#e4d9f2;border-radius:14px}
nav button{color:#716582;border-radius:12px;transition:background .15s,color .15s}nav button:hover{background:#ffffffb5;color:#65459d}nav button.active{background:#e8ddf7;color:#5f408f;box-shadow:inset 3px 0 #a07ad1}
.online,.eyebrow{color:#8263a4}.side-bottom p{color:#675778}.avatarline{border-color:#e4d9ef}i.avatar,i{background:#eaddf5;color:#694690}
header{background:#ffffff91}.header-right,.crumb{color:var(--muted)}h1{color:#352c4d}.primary{background:#7553b3;border-radius:10px;box-shadow:0 4px 12px #7653b320}.primary:hover{background:#65439e}
.panel,.stat{border-radius:16px;box-shadow:0 3px 14px #51407104}.stat:first-child{background:var(--lavender);border-color:#e3d8f1}.stat:nth-child(2){background:var(--blush);border-color:#f1dce7}.stat:nth-child(3){background:var(--sky);border-color:#d9e9f7}.stat-label{color:#716480}.stat-value{color:#51406d}.stat:nth-child(2) .stat-value{color:#9a507c}.stat:nth-child(3) .stat-value{color:#436e97}
.period-toolbar{background:linear-gradient(110deg,#f0eafa,#fbedf5 55%,#edf5fc);border-color:#e7ddf1;border-radius:16px}.period-toolbar label{margin-bottom:0}.period-toolbar .action{align-self:center;text-decoration:none}
th{background:#f7f4fb;color:#746585;font-weight:700}td{border-color:#f0ecf6}tbody tr:hover td:where(:not(.fc td)){background:#faf7ff}.rating-low:hover td{background:#ffe6e7}.rating-high:hover td{background:#e2f2e4}
a{color:#6e4aa8}.action{border-color:#e4daef;color:#70509f;border-radius:8px}.action:hover{background:#f4eefb;border-color:#cbb7e3}.panelhead button,.textbutton{color:#70509f}
label{color:#6c607e}label input,label select,label textarea,.period-controls input,.period-controls select,.employee select{border-color:#e1d8ec;border-radius:9px}input:focus,select:focus,textarea:focus{outline:2px solid #b898df;outline-offset:2px}button:focus-visible,a:focus-visible{outline-color:#af8ad5}
.bar{background:#eee8f5}.bar span{background:linear-gradient(90deg,#ac8ed1,#8bb9df)}.callout{background:linear-gradient(135deg,#f1eafa,#fcecf4);border-color:#e8dcf1;border-radius:16px}.callout p{color:#786489}.summary pre,.ai-turn pre,.ai-prompt{background:#f7f3fb;color:#51415f}.notice{color:#756784;border-color:#c9b4df}
.planned{background:#edeafa;color:#6b5b91}.progress{background:#e9f3fc;color:#426d98}.done{background:#e8f3e9;color:#356e45}.late{background:#fff0e3;color:#995b25}
.inbox-item.unread{background:#f1eafa}#browserUnread{background:#e6d9f6;color:#67448e}.close{background:#f1eafa;color:#7c6396}dialog{color:var(--ink);box-shadow:0 24px 100px #49315f33;border:1px solid #e8dff2;border-radius:20px}dialog::backdrop{background:#38284c55}#toast{background:#67478f}footer{color:#8c809b}footer button{color:#78658f}
@media(max-width:760px){nav{flex-wrap:wrap}nav button{flex-shrink:0}.period-toolbar{gap:12px}}
@media(prefers-reduced-motion:reduce){nav button{transition:none}}
/* Readability: dusk surfaces, clear typography, restrained colour. */
:root{--ink:#f0eef7;--muted:#c0b9ce;--line:#4b435d;--green:#c9afff;--bg:#242132;--orange:#ffcc91}
body{font-family:Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.55;background:#242132;color:var(--ink)}
aside{background:#2e293f;border-color:#51465f}.brand{color:#dbc8ff}.workspace{background:#393148;border-color:#60516e}.workspace small, .avatarline small{color:#cec4dc}.avatarline{border-color:#574b65}.side-bottom p{color:#e2d4ee}.online,.eyebrow{color:#d0b5ee}
nav button{color:#d8cfe4}nav button span{font-size:14px}nav button:hover{background:#443752;color:#fff}nav button.active{background:#534069;color:#fff;box-shadow:inset 3px 0 #d1a6ff}i.avatar,i{background:#57416f;color:#f0dbff}
header{background:#292436}.crumb,.header-right{color:#c6bdd3}.crumb b,h1,h2,h3{color:#f5f0fc}h1{font-size:32px;letter-spacing:-.6px}h2{font-size:21px}p{font-size:14px;color:#c9c2d4}.hint,.warning,.notice{font-size:13px}.hint{color:#c6bfd1}.warning{color:#ffd099}.eyebrow{font-size:11px;letter-spacing:1.5px}
.panel,.stat{background:#332d43;border-color:#514660;box-shadow:none}.panelhead span{color:#c4bace;font-size:12px}.stat:first-child{background:#423352;border-color:#725590}.stat:nth-child(2){background:#483143;border-color:#80596f}.stat:nth-child(3){background:#2d3e51;border-color:#55748e}.stat-label{color:#ded5e8;font-size:13px}.stat-value,.stat:nth-child(2) .stat-value,.stat:nth-child(3) .stat-value{color:#fff;font-weight:700}.stat small{font-size:12px;color:#d2c7dd}
.period-toolbar{background:#383047;border-color:#62516f}.period-toolbar h2{color:#fff}.primary{background:#a57bde;color:#171020;font-size:14px;font-weight:700;box-shadow:none}.primary:hover{background:#bc97ed}.action{background:#42364f;border-color:#7b668d;color:#f0dcff;font-size:12px;padding:8px 11px}.action:hover{background:#594369;border-color:#b294c7}.panelhead button,.textbutton{color:#dfc4ff;font-size:13px}a,.savedlink{color:#acd7ff}
th{background:#282336;color:#e3d8ee;font-size:12px;font-weight:700;letter-spacing:.25px;border-color:#51465f}td{font-size:13px;color:#efebf5;border-color:#50445e;line-height:1.65}tbody tr:hover td:where(:not(.fc td)){background:#41354f}.taskname small,.date small,.department small{font-size:12px;color:#c8bdd6}.date,.department-row{font-size:13px}.person i{font-size:11px}.badge{font-size:12px}
.rating-low td{background:#4b2c36;color:#ffe0e2}.rating-high td{background:#294238;color:#d6f7de}.rating-low:hover td{background:#5b3440}.rating-high:hover td{background:#335344}.rating-low a,.rating-high a{color:inherit}.done{background:#294d3c;color:#d5ffe2}.late{background:#573e2c;color:#ffddb6}.progress{background:#304e68;color:#d4ebff}.planned{background:#4c3f65;color:#e8d9ff}
label,.employee label{color:#e0d5ec;font-size:13px}label input,label select,label textarea,.period-controls input,.period-controls select,.filters input,.filters select,.employee select,.toolbar select{background:#272233;color:#f3edf9;border-color:#80708f;font-size:14px}input::placeholder,textarea::placeholder{color:#bcb0c9;opacity:1}input:focus,select:focus,textarea:focus{outline-color:#d1a7ff}button:focus-visible,a:focus-visible{outline-color:#dfbbff}input,select{color-scheme:dark}
.callout{background:#403149;border-color:#695273}.callout p{color:#dfcee6}.bar{background:#50445f}.bar span{background:linear-gradient(90deg,#c299f3,#89c6f5)}.summary pre,.ai-turn pre,.ai-prompt{background:#272233;color:#e6ddf0;font:14px/1.8 Segoe UI,Arial,sans-serif}.summary p,.summary h3{font-size:14px}.notice{color:#d2c1df;border-color:#b993dc}.empty{color:#cec3db;font-size:14px}
.inbox-item.unread{background:#473556}#browserUnread{background:#795495;color:#fff}.inbox-item pre{color:#eee5f6;font-size:14px}dialog{background:#332b42;color:#f1eaf8;border-color:#827092}dialog::backdrop{background:#0b0716ad}.close{background:#594564;color:#fff}#toast{background:#d0b1f2;color:#20142c;font-weight:600}footer,footer button{color:#c0b4ce}footer span{font-size:12px}
@media(max-width:760px){nav button span{font-size:12px}h1{font-size:27px}.intro .primary{font-size:12px}.stat-label{font-size:12px}td,th{font-size:12px}.content{padding:22px 16px}}
.shots-scroll{overflow:auto}.shots-grid{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:10px;min-width:1120px}.shot-day{background:#332d43;border:1px solid var(--line);border-radius:14px;padding:12px;min-height:260px}.shot-today{border:2px solid #c49ae8}.shot-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.shot-card{display:block;text-align:left;width:100%;border:1px solid #8f75a6;border-left-width:4px;border-radius:10px;padding:12px;margin:10px 0;color:#fff;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.shot-card strong{display:block;font-size:14px}.shot-card span,.shot-card small{display:block;font-size:13px;margin-top:5px;color:#eee5f7}.shot-card[draggable=true]{cursor:grab}.shot-card:hover{filter:brightness(1.15)}.shot-color-0{background:#503b64;border-color:#b78cdb}.shot-color-1{background:#58384f;border-color:#d699ba}.shot-color-2{background:#304c65;border-color:#8bbde4}.shots-month .shot-day{min-height:175px}.shots-list{display:grid;gap:12px;max-width:900px}.shots-list h3{font-size:14px}.shot-blank{min-height:20px}#shotDialog{width:680px}.shots-grid .hint{font-size:12px}
.shots-grid{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.shot-card{padding:10px}.shot-card strong{font-size:13px}.shot-card span,.shot-card small{font-size:12px}
.shot-card{padding:9px 10px;line-height:1.4}.shot-card .shot-time{display:block;font-size:12px;font-weight:700;color:#fff;margin-bottom:5px}.shot-card strong{font-size:12px;line-height:1.45;font-weight:600}.shot-card span,.shot-card small{font-size:11px;line-height:1.45;margin-top:5px}.shots-list h3{text-transform:capitalize;font-size:15px}
/* FullCalendar: locally hosted, shared shooting schedule. */
.shoot-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#302a3d;border:1px solid var(--line);padding:16px 18px;border-radius:14px}.shoot-controls label{margin:0}.shoot-controls .period-controls{gap:14px}.shoot-controls input,.shoot-controls select{margin-top:5px}.shoot-controls .notification-option{margin-top:18px}.shoot-state{margin:14px 2px 20px}
:is(#shootCalendar,#publicationPlanCalendar){--fc-border-color:#4d435c;--fc-page-bg-color:#2c2738;--fc-neutral-bg-color:#383044;--fc-neutral-text-color:#dfd5e9;--fc-today-bg-color:#a981cf16;--fc-button-bg-color:#3e344c;--fc-button-border-color:#685777;--fc-button-text-color:#e9dff3;--fc-button-hover-bg-color:#534063;--fc-button-hover-border-color:#9474b0;--fc-button-active-bg-color:#765296;--fc-button-active-border-color:#ae86d0;--fc-list-event-hover-bg-color:#3f334e;--fc-event-bg-color:transparent;--fc-event-border-color:transparent;--fc-event-text-color:#f5eefb;color:#eee8f5;font-family:Segoe UI,Arial,sans-serif}
:is(#shootCalendar,#publicationPlanCalendar) .fc-toolbar{gap:12px;flex-wrap:wrap;margin-bottom:20px}:is(#shootCalendar,#publicationPlanCalendar) .fc-toolbar-title{font-size:20px;font-weight:600;text-transform:capitalize;letter-spacing:0}:is(#shootCalendar,#publicationPlanCalendar) .fc-button{font-size:13px;padding:8px 12px;box-shadow:none}:is(#shootCalendar,#publicationPlanCalendar) .fc-button:focus{box-shadow:0 0 0 2px #c49be9}:is(#shootCalendar,#publicationPlanCalendar) a{color:inherit;text-decoration:none}:is(#shootCalendar,#publicationPlanCalendar) .fc-scrollgrid,:is(#shootCalendar,#publicationPlanCalendar) .fc-list{border-radius:12px;overflow:hidden;background:#2c2738}:is(#shootCalendar,#publicationPlanCalendar) th{font-size:12px;background:#342c41;border-color:#4d435c;letter-spacing:0}:is(#shootCalendar,#publicationPlanCalendar) td{font-size:13px;padding:0;border-color:#4d435c}:is(#shootCalendar,#publicationPlanCalendar) .fc-col-header-cell-cushion{padding:12px 6px;font-weight:600;text-transform:capitalize}:is(#shootCalendar,#publicationPlanCalendar) .fc-daygrid-day-number{padding:9px 10px;font-size:13px}:is(#shootCalendar,#publicationPlanCalendar) .fc-day-today .fc-daygrid-day-number{background:#8059a6;color:#fff;border-radius:50%;margin:4px;padding:5px 10px}:is(#shootCalendar,#publicationPlanCalendar) .fc-daygrid-day-frame{min-height:125px}:is(#shootCalendar,#publicationPlanCalendar) .fc-dayGridWeek-view .fc-daygrid-day-frame{min-height:280px}:is(#shootCalendar,#publicationPlanCalendar) .fc-day-other{background:#24202e}:is(#shootCalendar,#publicationPlanCalendar) .fc-day-other .fc-daygrid-day-number{opacity:.6}
:is(#shootCalendar,#publicationPlanCalendar) .fc-daygrid-event{white-space:normal;border:0;border-left:3px solid #b68ddc;border-radius:5px;margin:3px 5px;padding:6px 7px;background:#47335466;cursor:pointer}:is(#shootCalendar,#publicationPlanCalendar) .fc-daygrid-event-dot{display:none}.shoot-event-content{min-width:0;line-height:1.4}.shoot-event-time{font-size:11px;font-weight:700;color:#dfc2ff;display:block;margin-bottom:3px}.shoot-event-title{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.shoot-event-who{display:block;font-size:11px;color:#cfc1db;margin-top:4px}.shoot-event-kind{display:block;font-size:10px;color:#cbb9dd;margin-top:2px}:is(#shootCalendar,#publicationPlanCalendar) .shoot-tone-1{border-left-color:#e5a1c6;background:#55354566}:is(#shootCalendar,#publicationPlanCalendar) .shoot-tone-2{border-left-color:#92c9f0;background:#304b6266}:is(#shootCalendar,#publicationPlanCalendar) .fc-event:hover{filter:brightness(1.17)}
:is(#shootCalendar,#publicationPlanCalendar) .fc-list-day-cushion{background:#393044;color:#e9ddf2;padding:13px 18px;font-size:14px;text-transform:capitalize}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-time{width:80px;padding:18px;font-size:15px;font-weight:600;color:#d2b4f1;vertical-align:middle}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-graphic{padding:18px 6px;vertical-align:middle}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title{padding:16px 18px;cursor:pointer}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title .shoot-event-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,180px) 90px;align-items:center;gap:18px}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title .shoot-event-title{font-size:14px;font-weight:500}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title .shoot-event-who{font-size:12px;margin:0}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title .shoot-event-kind{font-size:11px;margin:0;color:#e4c9f2}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-dot{border-color:#bb95e2}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-empty{background:#2c2738;color:#c8bdd3;padding:55px 20px}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-table{table-layout:fixed}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-graphic{width:25px}:is(#shootCalendar,#publicationPlanCalendar) .fc-popover{background:#352c43;border-color:#80678f;color:#fff}:is(#shootCalendar,#publicationPlanCalendar) .fc-popover-title{font-size:13px}:is(#shootCalendar,#publicationPlanCalendar) .fc-popover-body{min-width:240px}
@media(max-width:760px){.shoot-controls{padding:12px}.shoot-controls .period-controls{gap:10px}:is(#shootCalendar,#publicationPlanCalendar) .fc-toolbar-title{font-size:17px}:is(#shootCalendar,#publicationPlanCalendar) .fc-toolbar{justify-content:center}:is(#shootCalendar,#publicationPlanCalendar) .fc-toolbar-chunk:nth-child(2){order:-1;width:100%;text-align:center}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-time{width:60px;padding:12px 8px;font-size:13px}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title{padding:12px 8px}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title .shoot-event-content{grid-template-columns:1fr;gap:4px}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title .shoot-event-title{font-size:13px}:is(#shootCalendar,#publicationPlanCalendar) .fc-daygrid-event{padding:4px;margin:2px}.shoot-event-title{font-size:11px}.shoot-event-who,.shoot-event-kind{font-size:10px}:is(#shootCalendar,#publicationPlanCalendar) .fc-button{padding:7px 9px}}
/* FullCalendar list columns and arrows without embedded icon fonts. */
:is(#shootCalendar,#publicationPlanCalendar) .fc-list-table{table-layout:auto}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-title{width:100%}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-time{width:80px;min-width:80px;white-space:nowrap}:is(#shootCalendar,#publicationPlanCalendar) .fc-list-event-graphic{width:24px;min-width:24px}:is(#shootCalendar,#publicationPlanCalendar) .fc-icon-chevron-left::before{content:'←';font-family:Segoe UI,Arial,sans-serif}:is(#shootCalendar,#publicationPlanCalendar) .fc-icon-chevron-right::before{content:'→';font-family:Segoe UI,Arial,sans-serif}:is(#shootCalendar,#publicationPlanCalendar) .fc-icon{font-family:Segoe UI,Arial,sans-serif}
/* Editorial schedule: direct editing, quiet rows, persistent context. */
body.shots-workspace .intro{display:none}body.shots-workspace .content{padding-top:24px}body.shots-workspace #shotsRoot{margin-top:0}.schedule-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 20px}.schedule-top h1{font-size:24px;margin:0 0 12px;letter-spacing:-.5px}.schedule-date{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.schedule-date b{font-size:16px;font-weight:500;text-transform:capitalize;margin:0 6px}.schedule-date .action{padding:5px 9px}.schedule-date input,.schedule-filters select{border:1px solid #65556f;background:#302939;color:#e7dfef;border-radius:7px;padding:7px 9px;font:12px Segoe UI,sans-serif}.schedule-views{display:flex;gap:4px}.schedule-views .action{background:transparent;border-color:transparent;color:#c8bbd5;font-size:13px;padding:8px 14px}.schedule-views .selected{background:#514061;border-color:#826399;color:#fff}.schedule-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 22px;border-bottom:1px solid #44394f;padding-bottom:16px}.schedule-filters label{margin:0;font-size:12px}.schedule-filters input{margin:0}.schedule-filters #shotsStatus{font-size:12px;color:#dcc5ef;flex:1;text-align:right}.schedule-day{margin:0 0 22px}.schedule-day h2{font-size:14px;font-weight:600;text-transform:capitalize;padding:12px 0;color:#dccfe6}.schedule-table{table-layout:fixed}.schedule-table th{font-size:11px;padding:9px 10px;background:transparent;color:#aa9db8;letter-spacing:0;font-weight:500;text-transform:none}.schedule-table td{padding:6px 4px;border-bottom:1px solid #40374b;font-size:13px}.schedule-table th:first-child{width:85px}.schedule-table th:nth-child(3){width:180px}.schedule-table th:nth-child(4){width:115px}.schedule-table th:last-child{width:92px}.schedule-table tbody tr:hover td:where(:not(.fc td)){background:#30293c}.schedule-cell{border:1px solid transparent;border-radius:5px;background:none;color:#e9e2f0;font-size:13px;line-height:1.5;padding:10px 6px;width:100%;text-align:left;overflow-wrap:anywhere;min-height:40px}.schedule-cell[data-shot-edit]:hover{background:#44324f;border-color:#6d4e82}.schedule-table td:first-child .schedule-cell{color:#d8b8f1;font-weight:600}.schedule-table td:nth-child(3) .schedule-cell,.schedule-table td:nth-child(4) .schedule-cell{color:#c4b7d1;font-size:12px}.schedule-table .textbutton{font-size:11px;padding:8px}.schedule-editor{width:100%;min-width:0;border:1px solid #c69ee6;border-radius:5px;background:#211c2b;color:#fff;padding:10px 6px;font:13px Segoe UI,sans-serif}.schedule-empty{padding:24px 10px;color:#b4a7c0;border-block:1px solid #40374b;font-size:13px}.schedule-quick{display:grid;grid-template-columns:85px minmax(140px,1fr) 180px 115px auto;gap:8px;align-items:start;margin-top:18px;padding:14px 0}.schedule-quick input,.schedule-quick select{width:100%;min-width:0;background:#2a2334;color:#eee4f6;border:1px solid #584666;border-radius:6px;padding:10px 8px;font:12px Segoe UI,sans-serif}.schedule-quick button{font-size:12px;padding:10px}.schedule-quick p{grid-column:1/-1;margin:0;color:#ffd09c}.shots-workspace .shoot-controls,.shots-workspace .shoot-state{display:none}.shots-workspace :is(#shootCalendar,#publicationPlanCalendar){margin-top:15px}#shotDialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,96vw);max-width:96vw;height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;padding:24px;box-shadow:-20px 0 70px #100a2070;z-index:10;border-left:1px solid #816491}#shotDialog .dialoghead{position:sticky;top:-24px;background:#332b42;padding:15px 0;z-index:1}#shotDialog label{margin-bottom:13px}#shotDialog textarea{min-height:100px}
@media(max-width:1100px){.schedule-table th:nth-child(3){width:125px}.schedule-table th:nth-child(4){width:95px}.schedule-quick{grid-template-columns:75px minmax(130px,1fr) 125px 95px auto}}
@media(max-width:760px){.schedule-top{gap:12px}.schedule-date b{font-size:14px}.schedule-views{width:100%}.schedule-table{min-width:580px}.schedule-quick{grid-template-columns:80px 1fr}.schedule-quick button{grid-column:1/-1}.schedule-filters{gap:10px}.schedule-filters #shotsStatus{flex-basis:100%;text-align:left}.schedule-date input{max-width:140px}}
.schedule-day:has(>.schedule-empty){display:flex;align-items:center;gap:18px;border-bottom:1px solid #40374b;margin-bottom:8px}.schedule-day>.schedule-empty{border:0;padding:8px 0;margin:0;font-size:12px}.schedule-day:has(>.schedule-empty) h2{padding:8px 0;min-width:180px;margin:0;color:#b9aac5}
/* Month entries: a single compact line, time followed by title. */
:is(#shootCalendar,#publicationPlanCalendar) .fc-dayGridMonth-view .fc-daygrid-event{padding:4px 6px;margin:2px 4px;border-left-width:2px;border-radius:4px;min-height:0}
:is(#shootCalendar,#publicationPlanCalendar) .shoot-month-line{display:flex;align-items:baseline;gap:6px;min-width:0;max-width:100%;line-height:1.4}
:is(#shootCalendar,#publicationPlanCalendar) .shoot-month-line .shoot-event-time{display:inline;flex:0 0 auto;margin:0;font-size:11px;font-weight:600;color:#ddc6f1;white-space:nowrap}
:is(#shootCalendar,#publicationPlanCalendar) .shoot-month-line .shoot-event-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;font-family:Segoe UI,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;color:#f0eaf6}
:is(#shootCalendar,#publicationPlanCalendar) .fc-dayGridMonth-view .fc-daygrid-day-frame{min-height:105px}
:is(#shootCalendar,#publicationPlanCalendar) .fc-dayGridMonth-view .fc-daygrid-day-events{margin-bottom:6px}
