/* HALO MAVIS / Marketing Atelier — workspace-only design system */
:root{--coral:#6d2536;--corallt:#f2e9e9;--ink:#272522;--mute:#827c73;--line:#e2ded7;--bg:#f3f1ec;--teal:#62755f;--dash:#d8d2c8;}
.studio{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:13px;background:var(--bg);}
.studio-header{display:block;padding:0;border:0;box-shadow:0 1px 0 var(--line);}
.masthead{min-height:77px;padding:14px 28px;background:#252622;color:#f8f6ef;display:flex;align-items:center;gap:28px;}
.studio .brand{display:flex;align-items:center;gap:17px;letter-spacing:2.8px;font-size:15px;font-weight:500;line-height:1.4;white-space:nowrap;}
.brand-monogram{font:italic 43px/.9 Georgia,"Times New Roman",serif;letter-spacing:-4px;padding-right:8px;border-right:1px solid #57574e;width:72px;}
.studio .brand small{font-size:8px;letter-spacing:2.5px;color:#aaa99c;font-weight:400;margin-top:5px;}
.masthead-caption{font-size:11px;color:#a9a99f;letter-spacing:1.7px;margin-left:auto;}
.edition{font-size:8px;letter-spacing:1.3px;color:#9f9f91;border-left:1px solid #51534a;padding-left:24px;}
.edition b{font-size:10px;color:#e0ddd2;display:block;margin-top:3px;font-weight:400;}
.actionbar{padding:12px 28px;min-height:62px;background:#fcfbf8;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.tool-label{color:#847d72;font-size:11px;white-space:nowrap;}
.studio .ctrl{gap:9px;font-size:11px;}.language-control{border-right:1px solid var(--line);padding-right:18px;margin-right:5px;}
.studio input[type=checkbox]{accent-color:var(--coral);width:13px;height:13px;}
.studio input,.studio select,.studio textarea{border-radius:3px;background:#fff;border-color:var(--line);transition:border-color .15s;}
.studio input:focus,.studio select:focus,.studio textarea:focus{outline:1px solid #a7848a;border-color:#a7848a;outline-offset:1px;}
.studio .btn{border-radius:3px;font-size:11px;font-weight:500;letter-spacing:.4px;padding:9px 14px;line-height:1.4;min-height:34px;}
.studio .btn.ghost{background:transparent;border-color:var(--line);}.studio .btn.ghost:hover{background:#eeeae3;border-color:#c8c1b7;}
.studio .btn.ai{background:#efebe4;color:#39352e;}.studio .btn.ai:hover{background:#e5dfd5;}
.studio .btn.pub,.studio .btn.primary{background:#6d2536;color:#fff;}.studio .btn.pub:hover,.studio .btn.primary:hover{background:#51212d;}
.studio .btn span{margin-left:12px;}.toolbar-divider{height:22px;width:1px;background:var(--line);margin:0 4px;}
.tool-menu{position:relative;}.tool-menu summary{cursor:pointer;list-style:none;font-size:11px;padding:9px 12px;border-radius:3px;user-select:none;}
.tool-menu summary::-webkit-details-marker{display:none;}.tool-menu summary span{margin-left:8px;color:#938b7d;}
.tool-menu[open] summary,.tool-menu summary:hover{background:#ede9e1;}
.menu-content{position:absolute;right:0;top:calc(100% + 7px);width:195px;background:#fff;border:1px solid var(--line);padding:7px;box-shadow:0 14px 30px #25262216;z-index:80;border-radius:4px;display:flex;flex-direction:column;gap:5px;}
.menu-content .btn{text-align:left;border:0!important;width:100%;}.menu-content .ctrl{padding:10px;font-size:11px;}
.workspace-status{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 28px 0;min-height:32px;font-size:10px;}
.studio #verBar,.studio #useBar{border:0;background:transparent;border-radius:0;font-size:10px;padding:0;gap:5px;}
.studio #verBar .vnum{border-radius:2px;background:#918477;font-size:9px;}.studio #verBar .vdim,.studio #useBar .udim{color:#9c9488;}
.studio #saveState,.studio #status{font-size:10px;}.studio #status:empty{display:none;}
.studio .tip{border:0;border-radius:0;background:transparent;color:#938a7d;font-size:10px;margin:0 28px;padding:7px 0 11px;display:flex;gap:16px;line-height:1.6;}
.tip-label{font-size:8px;letter-spacing:1.7px;color:#756958;white-space:nowrap;}
.studio main{grid-template-columns:338px minmax(0,1fr);gap:28px;padding:6px 28px 20px;}
.studio .formcol{padding-right:12px;scrollbar-width:thin;scrollbar-color:#cec7bc transparent;}
.studio .panel-title{font-size:12px;color:#3c3832;font-weight:500;letter-spacing:.4px;display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;}
.studio .panel-title span{font-size:9px;letter-spacing:1.8px;color:#968c7c;order:2;}
.studio .setcard{border-radius:4px;border:1px solid #e1dbd0;background:#faf9f6;padding:16px;margin-bottom:24px;}
.studio .setgrid{gap:12px 10px;}.studio .setgrid label{font-size:10px;font-weight:500;letter-spacing:.2px;color:#877d6e;gap:5px;}
.studio .setgrid input,.studio .setgrid select{padding:7px 8px;width:100%;font-size:12px;min-width:0;}
.studio .presetrow{min-width:0;}.studio .setgrid label{min-width:0;}
.studio .minib{border-radius:3px;font-size:10px;font-weight:500;border-color:#ded8cd;color:#756c5e;padding:5px 8px;min-height:28px;}
.studio .minib:hover{background:#eee8de;border-color:#b8ad9b;color:#40392f;}
.studio .wtabs{gap:6px;padding:4px 0 12px;}.studio .wtab{border-radius:3px;background:transparent;padding:5px 13px;font-size:11px;font-weight:500;}
.studio .wtab.on{background:#292923;border-color:#292923;color:#fff;}.studio .wtab .dot{background:#9a6a73;}
.studio .weekhd{font-size:9px;font-weight:500;color:#8f806d;letter-spacing:2px;margin:5px 0 10px;}
.studio .daycard{border-radius:4px;border:1px solid #ded8ce;border-top:2px solid #aea18e;padding:12px 10px;margin-bottom:12px;}
.studio .daycard.filled{border-top-color:#6d2536;}.studio .daycard.hl{box-shadow:0 0 0 2px #bc9ba3;}
.studio .dhd{margin-bottom:12px;}.studio .ddate{font-size:16px;font-weight:500;}.studio .ddate span{font-weight:400;font-size:10px;}
.studio .dbadge{margin-left:auto;width:70px;font-size:11px;}
.studio .itembox{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0 4px;background:transparent;}
.studio .itemhd .idx{background:#ece7de;color:#74624f;font-size:10px;font-weight:500;border-radius:2px;}
.studio .itemhd select{font-size:11px;}.studio .okchk{font-weight:500;font-size:10px;color:#72836d;}.studio .okchk input{accent-color:#718570;}
.studio .fieldrow{margin-top:12px;}.studio .fieldrow>span{font-weight:500;font-size:9px;letter-spacing:.6px;color:#938471;margin-bottom:5px;}
.studio .fieldrow input,.studio .fieldrow textarea{font-size:12px;padding:8px;line-height:1.7;}
.studio .item-media{border:1px solid #e6e0d7;border-radius:3px;padding:9px;background:#faf8f4;margin:12px 0;}
.studio .media-note,.studio .legacy-img,.studio .imghint{font-size:10px;line-height:1.6;color:#9a8b78;}
.studio .platchk{font-size:10px;font-weight:400;border-radius:3px;padding:4px 6px;gap:3px;}.studio .platchk.on{background:#f4f1ec;border-color:#bfb4a4;color:#6b5d4a;}
.studio .platchk input{accent-color:#807363;}.studio .platrow{gap:4px;}.studio .additem{border:1px dashed #cbbbab;color:#8b7862;border-radius:3px;width:100%;padding:7px;margin-top:8px;font-size:10px;font-weight:500;}
.studio .pcol{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:0;border:1px solid #ded8cf;border-radius:4px;background:#fcfbf8;}
.studio .phead{position:relative;flex:none;padding:20px 24px 0;background:#fcfbf8;z-index:8;}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;}
.eyebrow{font-size:8px;letter-spacing:2.4px;color:#9d8b77;margin-bottom:6px;}
.calendar-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:32px;letter-spacing:-1.1px;font-weight:400;line-height:1.15;margin:0;}
.calendar-heading h1 span{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;color:#a28f7d;letter-spacing:.5px;padding-left:14px;white-space:nowrap;}
.live-badge{font-size:9px;color:#7f8a70;display:flex;align-items:center;gap:6px;white-space:nowrap;}.live-badge i{width:5px;height:5px;background:#849372;border-radius:50%;}
.studio .preview-tools{gap:7px;flex-wrap:wrap;padding:0 0 14px;border-bottom:1px solid #e4ddd3;font-size:10px;}
.board-navigation{display:flex;gap:0;margin-right:3px;}.board-navigation .minib{width:27px;padding:2px;border-radius:0;border-right:0;font-size:14px;}.board-navigation .minib:first-child{border-radius:3px 0 0 3px;}.board-navigation .minib:last-child{border-right:1px solid #ded8cd;border-radius:0 3px 3px 0;}
.studio #panMode[aria-pressed=true]{background:#4a433a;color:#fff;border-color:#4a433a;}.studio .pan-hint{font-size:10px;color:#9d8b77;}
.studio .view-select select{font-size:10px;background:transparent;padding:5px;min-height:28px;}
.board-viewport{flex:1;min-height:0;min-width:0;overflow:auto;scroll-behavior:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:auto;scrollbar-color:#b9ae9d #f3efe7;position:relative;}
.board-viewport::-webkit-scrollbar{width:12px;height:12px;}.board-viewport::-webkit-scrollbar-thumb{background:#b9ae9d;border:3px solid #f3efe7;border-radius:8px;}.board-viewport::-webkit-scrollbar-track{background:#f3efe7;}.board-viewport::-webkit-scrollbar-corner{background:#f3efe7;}
.board-viewport:focus-visible{outline:2px solid #ac8a93;outline-offset:-2px;}
.studio #preview{min-width:1810px;padding:24px;}
.studio #preview .wgrid{grid-template-columns:repeat(7,minmax(240px,1fr));gap:12px;}
.studio #preview .dcell{display:flex;flex-direction:column;}.studio #preview .dtop{width:auto;display:block;text-align:left;}
.studio #preview .dtop b{font-size:17px;}.studio #preview .dtop i{display:inline;margin-left:8px;font-size:10px;}
.studio #preview .tt{font-size:12px!important;}.studio #preview .tt.sub{font-size:11px!important;}.studio #preview .posttxt{font-size:12px!important;line-height:1.7;}
.studio #preview .ed{border:0;padding:2px;}.studio #preview .ed:focus{cursor:text!important;}
.board-viewport:not(.select-mode) #preview,.board-viewport:not(.select-mode) #preview *{cursor:grab;}
.board-viewport:not(.select-mode) #preview .ed:focus,.board-viewport:not(.select-mode) #preview .ed:focus *{cursor:text;}
.board-viewport:not(.select-mode) #preview .postmore{cursor:pointer;}
.board-viewport img{-webkit-user-drag:none;}.board-viewport.panning,.board-viewport.panning *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important;}
.studio:has(.board-viewport.panning) #hoverPrev{display:none!important;}
.board-footer{padding:9px 24px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e7e0d5;font-size:8px;letter-spacing:1.2px;color:#a29583;flex:none;}
.board-footer span:last-child{letter-spacing:.5px;}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
@media(min-width:1151px){.studio main{height:calc(100dvh - var(--topH,190px));}.studio .formcol{height:100%;overflow-y:auto;}.studio .pcol{height:100%;}}
@media(min-width:1151px) and (max-width:1390px){.studio main{grid-template-columns:300px minmax(0,1fr);gap:18px;padding-left:20px;padding-right:20px;}.actionbar{gap:5px;padding:10px 20px;}.studio .btn{padding:9px 10px;}.studio .phead{padding:18px 18px 0;}.studio .pan-hint{flex-basis:100%;order:3;}}
@media(max-width:1150px){.studio main{grid-template-columns:300px minmax(0,1fr);gap:16px;padding:8px 18px 18px;height:calc(100dvh - var(--topH,190px));overflow:hidden;}.studio{overflow:hidden;}.studio .formcol{overflow:auto;min-height:0;}.studio .pcol{height:100%;min-height:0;}.studio .phead{padding:18px 16px 0;}.calendar-heading h1{font-size:27px;}.calendar-heading h1 span{display:block;padding:6px 0 0;font-size:10px;}.studio .pan-hint{flex-basis:100%;order:3;}.masthead{padding:13px 20px;}.actionbar{padding:9px 18px;gap:5px;}.studio .btn{padding:8px 10px;}.workspace-status{padding-left:18px;padding-right:18px;}.studio .tip{margin:0 18px;}.masthead-caption{font-size:10px;}.studio #jumpBtn{display:none;}.board-footer{padding:8px 16px;}.board-footer span:last-child{display:none;}}
@media(max-width:760px){.studio{overflow:auto;}.masthead{padding:14px 16px;min-height:70px;}.masthead-caption{display:none;}.edition{margin-left:auto;}.studio .brand{font-size:13px;}.brand-monogram{font-size:38px;width:62px;}.actionbar{padding:10px 12px;gap:5px;}.language-control{border:0;margin:0;padding:0;}.actionbar>.spacer{display:none;}.actionbar>.toolbar-divider{display:none;}.actionbar .source-control{display:flex;}.actionbar .language-control{flex:1;}.actionbar .btn{padding:7px 9px;font-size:10px;}.actionbar>.btn.ai{margin-left:auto;}.tool-menu summary{padding:8px;font-size:10px;}.workspace-status{padding:10px 14px 0;gap:8px;}.studio .tip{margin:0 14px;font-size:10px;padding:7px 0 12px;}.tip-label{display:none;}.studio main{display:flex;flex-direction:column;height:auto;overflow:visible;padding:6px 14px 60px;gap:20px;}.studio .formcol{overflow:visible;padding:0;}.studio .pcol{order:-1;height:74dvh;min-height:450px;}.studio .phead{padding:16px 14px 0;}.calendar-heading{margin-bottom:15px;}.calendar-heading h1{font-size:27px;}.calendar-heading h1 span{display:inline;padding-left:10px;}.live-badge{font-size:8px;}.studio #preview{padding:18px;}.studio #preview .dcell.empty .dtop{display:block;}.studio #preview .dcell.empty .dbody{display:block;}.studio .setgrid{grid-template-columns:1fr 1fr;}.studio #jumpBtn{display:block;font-size:11px;padding:10px 15px;border-radius:3px;background:#292923;box-shadow:0 3px 14px #0002;}.studio .wtabs{top:0;}.studio .phead .spacer{display:none;}.menu-content{right:auto;left:0;}.tool-menu:last-of-type .menu-content{left:auto;right:0;}.studio #status{flex-basis:100%;}}
@media print{.studio-header,.workspace-status,.tip,.studio .formcol,.studio .phead,.board-footer{display:none!important;}.studio main,.studio .pcol,.board-viewport{display:block!important;height:auto!important;overflow:visible!important;border:0!important;padding:0!important;}.studio #preview{min-width:0!important;padding:0;}.studio #preview .wgrid{grid-template-columns:repeat(7,1fr)!important;gap:5px;}.studio #preview .tt,.studio #preview .posttxt{font-size:9px!important;}.studio{overflow:visible!important;}}
/* Keep date controls readable in the compact project panel. */
.studio .setgrid .full:last-child>span{flex-wrap:wrap;gap:6px!important;}
.studio .setgrid .full:last-child .minib{white-space:nowrap;flex:none;}
.studio #rangeInfo{flex-basis:100%;padding-top:3px;font-size:10px;}
@media(max-width:760px){.studio .actionbar .language-control{flex:none;flex-wrap:nowrap;width:100%;padding-bottom:3px;}.studio .actionbar .source-control{margin-right:auto;}.studio .actionbar .minib,.studio .actionbar .btn,.studio .tool-menu summary{min-height:36px;}.studio .preview-tools .minib,.studio .view-select select{min-height:34px;}.studio .board-navigation .minib{width:31px;}.studio .pan-hint{font-size:10px;}}
/* v20: drag a date header to reorder complete days, rather than panning the content. */
.studio #preview .dtop[data-move-key]{cursor:grab!important;touch-action:none;user-select:none;-webkit-user-select:none;position:relative;padding-right:78px;min-height:53px;}
.studio #preview .dtop[data-move-key]:focus-visible{outline:2px solid #6d2536;outline-offset:-3px;}
.studio #preview .dtop[data-move-key]:hover{background:#e9e0d6;}
.day-grip{position:absolute;right:8px;bottom:12px;font-size:10px;letter-spacing:.2px;color:#806b5a;}
.studio #preview .sort-source{opacity:.4;}
.studio #preview .sort-target{outline:3px solid #6d2536;outline-offset:-2px;box-shadow:0 0 0 5px #6d253620;}
.studio #preview .sort-target .dtop{background:#ead8dd;}
.board-viewport.sorting,.board-viewport.sorting *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important;}
.sort-ghost{position:fixed;z-index:10000;pointer-events:none;background:#322b28;color:#fff;border-radius:5px;padding:12px 16px;font-size:12px;max-width:285px;box-shadow:0 8px 24px #0003;}
.studio:has(.board-viewport.sorting) #hoverPrev{display:none!important;}
.storage-conflict{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff2d8;color:#674718;padding:12px 28px;font-size:12px;border-bottom:1px solid #dac795;}
.storage-conflict span{flex:1;min-width:220px;}
#moveDayDialog{width:min(480px,92vw);border:1px solid var(--line);border-radius:6px;padding:24px;color:var(--ink);}
#moveDayDialog::backdrop{background:#25262270;}#moveDayDialog h2{font-size:20px;font-weight:500;margin:0 0 15px;}
#moveDayDescription{line-height:1.8;font-size:13px;color:#827464;}#moveDayDate{padding:8px;margin-left:10px;}#moveDayError{color:#9c2934;font-size:12px;}
@media print{.day-grip,.storage-conflict,#moveDayDialog,.sort-ghost{display:none!important;}.studio #preview .dtop{padding-right:4px!important;}}
/* v20.1 — live insertion preview, lifted translucent day and soft landing. */
.studio #preview .dcell.sort-source{opacity:1;}
.studio #preview .sort-source>.dbody{opacity:.13;}
.studio #preview .sort-source>.dtop{background:repeating-linear-gradient(135deg,#f0e9e0,#f0e9e0 5px,#e8ded2 5px,#e8ded2 10px);}
.studio #preview .dcell{position:relative;}
.studio .board-viewport.sorting #preview .dcell,.studio #preview .dcell.sort-settling{overflow:visible;}
.studio .board-viewport.sorting #preview .dtop{position:relative;z-index:3;}
.studio .board-viewport.sorting #preview .dbody{transition:transform 280ms cubic-bezier(.22,.9,.3,1.14),opacity 150ms ease;background:#fff;position:relative;will-change:transform;}
.studio #preview .dcell.sort-shifted{z-index:2;}
.studio #preview .dcell.sort-shifted>.dbody{box-shadow:0 3px 10px #3c292b12;}
.studio #preview .dcell.sort-target{outline:2px solid #8b4556;outline-offset:2px;background:#efe4e7;box-shadow:inset 0 0 0 2px #fff;}
.studio #preview .dcell.sort-target:after{content:'放開移到這一天';position:absolute;top:88px;left:12px;right:12px;color:#956272;font-size:12px;text-align:center;pointer-events:none;}
.sort-drag-card{position:fixed;left:0;top:0;z-index:9998;pointer-events:none;opacity:.76;max-height:min(680px,calc(100dvh - 32px));overflow:hidden;border-radius:7px;box-shadow:0 24px 64px #2b162a38,0 5px 18px #2b162a22;transform-origin:50% 25px;will-change:transform,opacity;contain:layout paint;}
.sort-drag-card>.dcell{width:100%;min-height:180px;border:1px solid #a66a7b;border-radius:7px;background:#fff;display:flex;flex-direction:column;}
.sort-drag-card .dtop{position:relative;width:auto;display:block;padding:12px;background:#eee5e2;min-height:53px;}
.sort-drag-card .dtop b{font-size:17px;}.sort-drag-card .dtop i{display:inline;margin-left:8px;}
.sort-drag-card .tt{font-size:12px!important;}.sort-drag-card .tt.sub{font-size:11px!important;}.sort-drag-card .posttxt{font-size:12px!important;line-height:1.7;}
.sort-drag-card .ed{border:0;white-space:pre-wrap;overflow-wrap:anywhere;width:100%;}
.sort-drag-card .dbody{background:#fff;}.sort-drag-card:after{content:'';position:absolute;left:0;right:0;bottom:0;height:28px;background:linear-gradient(transparent,#fff);pointer-events:none;}
.studio:has(.board-viewport.sorting),.studio:has(.board-viewport.sorting) *{cursor:grabbing!important;}
@media(prefers-reduced-motion:reduce){.studio .board-viewport.sorting #preview .dbody{transition:none;}.sort-drag-card{will-change:auto;}}
@media print{.sort-drag-card{display:none!important;}}
