/* Warm daylight palette. Document and PDF output keeps its own paper styling. */
:root{--surface:#1c2021;--soft:#263024;--ink:#f4f5f1;--secondary:#aeb9b7;--stroke:#445044;--focus:#c5f57a}
.themebutton,.account .themebutton,.login-page .themebutton{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;padding:0;margin:0;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;box-sizing:border-box}
.themebutton svg{display:block;pointer-events:none}.themebutton:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.account-theme,.login-theme{float:right}.login-page{position:relative}
.storage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.storage-heading h2{margin:0;font-size:19px}
.account .storage-heading button{width:auto;margin:0;background:transparent;color:var(--ink);border:1px solid var(--stroke);font-size:12px;min-height:40px;padding:9px 12px}
.storage-number{display:flex;flex-direction:column;gap:4px;margin:22px 0 15px}.storage-number strong{font-size:34px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.storage-number span{font-size:13px;color:var(--secondary)}
#storage-meter{display:block;width:100%;height:9px;border:0;border-radius:12px;overflow:hidden;appearance:none;background:#354138;accent-color:#a7c780}
#storage-meter::-webkit-progress-bar{background:#354138;border-radius:12px}#storage-meter::-webkit-progress-value{background:#a7c780;border-radius:12px}#storage-meter::-moz-progress-bar{background:#a7c780;border-radius:12px}
#storage-used{font-size:12px;color:var(--secondary);margin:8px 0 15px}#storage-warning{padding:11px 13px;background:#253b29;border-radius:10px;color:#c5e7bc;font-size:13px}
#storage-status[data-level=warning] #storage-warning{background:#473b23;color:#ffe1aa}#storage-status[data-level=critical] #storage-warning{background:#4a2925;color:#ffd1c5}
.storage-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--stroke);padding-top:18px;margin:18px 0}.storage-breakdown small,.storage-breakdown b{display:block}.storage-breakdown b{margin-top:5px;font-size:14px}.storage-breakdown small,.storage-note,#storage-updated{font-size:11px;color:var(--secondary);line-height:1.6}.storage-note{margin-bottom:0}#storage-error{font-size:13px;color:#ffba9e}#storage-error:empty{display:none}
@media(max-width:480px){header{gap:7px}header .icon{padding:10px;min-height:42px}header .languagebutton{min-width:54px}.themebutton{flex-basis:40px;width:40px}.storage-heading{align-items:flex-start}.storage-heading h2{font-size:18px}}
@media screen{
html[data-theme=light]{color-scheme:light;--bg:#f2f1ee;--panel:#fafaf8;--surface:#fafaf8;--soft:#ecebea;--ink:#24272b;--text:#24272b;--secondary:#555b63;--line:#b8bcc2;--muted:#555b63;--accent:#a51f29;--stroke:#b8bcc2;--focus:#a51f29}
html[data-theme=light] body{background:var(--bg);color:var(--ink)}
html[data-theme=light] :is(input,select,textarea){color:var(--ink);background:var(--surface);border-color:var(--line);accent-color:#a51f29}
html[data-theme=light] :is(dialog,.account section,.box,.joblayout .box,.quick button,.customerorder,.attachmentcard,#fileviewer){background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}
html[data-theme=light] dialog::backdrop{background:#28352a66;backdrop-filter:blur(4px)}
html[data-theme=light] :is(.job,.assignmentheader,.trackingbox){background:#fafaf8;border-color:#b8bcc2;color:var(--ink)}
html[data-theme=light] .trackingbox{border-color:#b8bcc2}
html[data-theme=light] :is(.stationheader,.jobcontact,.customerfacts,.reminderbox,.archivenotice){background:#eeedeb;border-color:#b8bcc2;color:var(--ink)}
html[data-theme=light] :is(.bubble,.avatar,.profile-avatar,.profile-role,.employeechip,.appointmentday,.badge,.cardstation,.prominentfacts .cardteam){background:#ecebea;border-color:#b8bcc2;color:#24272b}
html[data-theme=light] .job p,html[data-theme=light] :is(.box p,.briefcontent,.fact span,.jobfacts,.customerorder p,.selectedteam,.profile-description,.trackinghint,.timerecords summary,.customerorderactions button,.customeropenhint,.assignempty,.moreappointment,.addappointment,.quickteamfoot button,.appointmentsheader button,.appointmentmain small,.appointmentedit,.duecontrol input,.trackingtotal>strong,.archivenotice strong,.contactgrid textarea,.profile-heading h2,.contactgrid input){color:var(--ink)}
html[data-theme=light] :is(p,small,.hint,.meta,.bottom,.person small,label,.quietbutton,.controlcaption,.controlcaption>span,.duedetail,.quickteamfoot,.appointmentsheader,.appointmentday small,.briefcontent h4,.fact small,.sourceinfo,.sourceinfo a,.formdetails summary,.fieldchoices span,.removefield,.templatepreview,.templatepreview details,.templatepreview ol,.activityfilters button,.activitymeta,.timeentry small,.customerrow small,.steprow.done .stepmain>span,.stepmain small,.stepmore,.expandsteps,.subtleadd,.emptyaction,.customerfacts small,.archivenotice small,.customerordertabs button,.stationcontrols label,.trackingcontrols label,.trackingtotal small,.timerecord small,.timerecord>button,.attachmentmeta,.viewerheading>span,.viewerloading,.contacttitle span,.contactfoot,.contactgrid label,.jobcontact>p,.contactgrid label>span,.appointmentwork){color:var(--secondary)}
html[data-theme=light] :is(.timeruler,.dayhead,.weekday,.calviews,.monthcell.dim,.tabs button,.fieldchoices button,.jobviewtab,.customerordertabs button,.activityfilters .active,.nav button,.jobactions>button,.languagebutton,.timerother,.timemanual,.viewerfiles button,.viewercontrols button,.profile-actions .profile-logout){background:#ecebea;border-color:#b8bcc2;color:#24272b}
html[data-theme=light] :is(.daytrack,.monthcell,.calviewport,.monthwrap){background-color:#fafaf8;border-color:var(--line)}
html[data-theme=light] .daytrack{background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 15px,#e1e0dd 15px,#e1e0dd 16px),repeating-linear-gradient(to bottom,transparent 0px,transparent 63px,#b8bcc2 63px,#b8bcc2 64px)}
html[data-theme=light] :is(.timeruler span,.absence-heading,.absence-heading b,.absence-chip span,.travelblock){color:#555b63}
html[data-theme=light] :is(.absence-chip,.absence-plus,.crewfilters .on){background:#ecebea;color:#24272b}
html[data-theme=light] .abs-day{color:#6b512c}html[data-theme=light] .abs-day span{background:#eee1c8;color:#6b512c}
html[data-theme=light] :is(.hourline,.person,.history,.steprow,.formdetails,.activityfilters,.timeentry,.customerrow,.duecontrol,.quickteam,.appointmentsheader,.appointmentrow+.appointmentrow,.customerorderactions,.timerecords,.timerecord,.viewerhead,.viewercontrols,.profile-actions,.account .user){border-color:#c8c7c4}
html[data-theme=light] .nav{background:rgba(242,241,238,.82);border-color:#b8bcc2aa;box-shadow:0 6px 24px #34422d20}
html[data-theme=light] :is(.nav .selected,.tabs .selected,.quickteamchoices button.selected,.jobviewheading .customersentry,.profile-actions .profile-manage){background:#c52b32;color:#ffffff;border-color:#a51f29}
html[data-theme=light] :is(.primary,.quick button.active,.jobviewtab.active,.customerordertabs .selected,.calviews .on,.timerstart,.timereportbutton,.archivenotice button,.send button,.add,.account button:not(.themebutton):not(#storage-refresh),.login-page form button){background:#c52b32;border-color:#a51f29;color:#ffffff}
html[data-theme=light] .jobviewtab b{background:#dedddb;color:#24272b}html[data-theme=light] .jobviewtab.active b{background:#a51f29;color:#ffffff}
html[data-theme=light] :is(.contactheading>span,.contactfoot button){color:#555b63}
html[data-theme=light] :is(input,textarea)::placeholder{color:#60656b;opacity:1}
html[data-theme=light] :is(.globaltimer,.timerstop){background:#f0dfbc;border-color:#c9ad77;color:#60491f}
html[data-theme=light] .jobactions .approval{background:#f0e3c7;border-color:#c1a772;color:#6b4e1d}
html[data-theme=light] .jobactions .approval.approved{background:#deeadb;border-color:#9fbc9b;color:#365d30}
html[data-theme=light] .jobactions .approval.revision{background:#f0dcd2;border-color:#c5a294;color:#804733}
html[data-theme=light] .jobactions .approval.neutral{background:#e3e7df;border-color:#b7c1b0;color:#495945}
html[data-theme=light] .jobactions .approval small{color:inherit}
html[data-theme=light] :is(.formerror,.uploadstatus,#error,#storage-error,.account #message){color:#995037}
html[data-theme=light] .dash-select .dash-select-trigger{background:#fafaf8;color:var(--ink);border-color:#b8bcc2}
html[data-theme=light] .dash-select-arrow{color:#555b63}
html[data-theme=light] .dash-select-menu{background:#fafaf8;color:var(--ink);border-color:#b8bcc2;color-scheme:light;scrollbar-color:#a2a5aa #fafaf8;box-shadow:0 10px 30px #34432b20}
html[data-theme=light] .dash-option.focused,html[data-theme=light] .dash-option:hover{background:#f7e6e4;border-color:#b8bcc2}
html[data-theme=light] .dash-option[aria-selected=true]{color:#a51f29}
html[data-theme=light] .uploadarea{background:#fafaf8;border-color:#b8bcc2;color:#555b63}
html[data-theme=light] .attachmentthumb{background:repeating-conic-gradient(#e1e0dd 0% 25%,#f2f1ee 0% 50%) 0/16px 16px}
html[data-theme=light] :is(.filefallback,.filetype,.fileloading){color:#24272b;background:#ecebea}
html[data-theme=light] .viewerstage{background:#d8d7d4}
html[data-theme=light] :is(.workflowprogress,.cardprogress){background:#dedddb}
html[data-theme=light] .workflowprogress i,html[data-theme=light] .cardprogress span{background:#c52b32}
html[data-theme=light] .steprow.done .stepcheck{background:#c2d7a5;color:#2a4020;border-color:#93b171}
html[data-theme=light] #modal>button:first-child{background:#ecebea;color:var(--ink);border-color:#b8bcc2}
html[data-theme=light] #servernotice{background:#f1e4c8;color:#59441e;border-color:#c9ae79}html[data-theme=light] #servernotice button{background:#f9edda;color:#59441e;border-color:#b8a079}
html[data-theme=light] .account a{color:#a51f29}
html[data-theme=light] #storage-warning{background:#e3ebd9;color:#405d30}
html[data-theme=light] #storage-status[data-level=warning] #storage-warning{background:#f0e2c5;color:#79561c}
html[data-theme=light] #storage-status[data-level=critical] #storage-warning{background:#efdbd3;color:#8d4733}
html[data-theme=light] #storage-meter,html[data-theme=light] #storage-meter::-webkit-progress-bar{background:#d9e0d1}
html[data-theme=light] #storage-meter::-webkit-progress-value,html[data-theme=light] #storage-meter::-moz-progress-bar{background:#859f66}
html[data-theme=light] :is(.time-report-preview,.viewerstage canvas,.viewerstage img){color:#202520}
html[data-theme=light] .time-report-preview p{color:#394439}
}
@media print{.themebutton{display:none!important}}

/* Approved LETUS light brand palette and critical contrast corrections. */
@media screen{
html[data-theme=light] :is(.prominentfacts .carddue,.bottom>span:first-child,.jobdue,.duedetail,.appointmentday,.trackingtotal>strong){color:#24272b!important}
html[data-theme=light] :is(.prominentfacts .carddue,.appointmentday){background:#fbe7d8;border-color:#cba789}
html[data-theme=light] :is(.avatar,.profile-avatar){color:#fff!important;background:#843039;font-weight:750;border:1px solid #555b63}
html[data-theme=light] .person:nth-of-type(5n+1) .avatar{background:#843039!important}
html[data-theme=light] .person:nth-of-type(5n+2) .avatar{background:#294a86!important}
html[data-theme=light] .person:nth-of-type(5n+3) .avatar{background:#713575!important}
html[data-theme=light] .person:nth-of-type(5n+4) .avatar{background:#93430e!important}
html[data-theme=light] .person:nth-of-type(5n) .avatar{background:#485360!important}
html[data-theme=light] :is(.logo b,.sub){color:#a51f29}
html[data-theme=light] :is(.jobviewtab.active,.primary,.nav .selected,.add,.send button,.timerstart,.timereportbutton){color:#fff!important;background:#c52b32;border-color:#a51f29}
html[data-theme=light] :is(.timeentry small,.timerecord small,.trackinghint,.timerecords summary){color:#555b63}
html[data-theme=light] .nav{background:rgba(242,241,238,.82);border-color:#b8bcc2;backdrop-filter:blur(10px)}
html[data-theme=light] :is(.nav button,.jobviewtab){border:1px solid #b8bcc2}
html[data-theme=light] .nav button:not(.selected){color:#24272b;background:#fafaf8}
}
@media screen{
html[data-theme=light] :is(.primary,.quick button.active,.nav .selected,.jobviewtab.active,.timerstart,.timereportbutton,.jobviewheading .customersentry) :is(span,small,b,strong){color:#fff!important}
html[data-theme=light] :is(button,input,textarea,a):focus-visible{outline:3px solid #a51f29;outline-offset:3px}
}
/* Approved LETUS graphite theme. Screen-only: printed documents stay monochrome. */
@media screen{
html[data-theme=dark]{color-scheme:dark;--bg:#17191d;--panel:#22252b;--surface:#22252b;--soft:#2b3038;--ink:#f5f5f3;--text:#f5f5f3;--secondary:#bbc0c9;--muted:#bbc0c9;--line:#4a505c;--stroke:#4a505c;--accent:#ff9e60;--focus:#ffad78}
html[data-theme=dark] body{background:var(--bg);color:var(--ink)}
html[data-theme=dark] :is(input,select,textarea){background:var(--surface);color:var(--ink);border-color:var(--stroke);accent-color:#dc3542}
html[data-theme=dark] :is(input,textarea)::placeholder{color:#bbc0c9;opacity:1}
html[data-theme=dark] :is(dialog,.account section,.box,.joblayout .box,.quick button,.customerorder,.attachmentcard,#fileviewer,.job,.assignmentheader,.trackingbox,.stationheader,.jobcontact,.customerfacts,.reminderbox,.archivenotice){background:var(--surface);color:var(--ink);border-color:var(--stroke);box-shadow:none}
html[data-theme=dark] dialog::backdrop{background:#090b10b3;backdrop-filter:blur(5px)}
html[data-theme=dark] :is(.bubble,.profile-role,.employeechip,.badge,.cardstation,.prominentfacts .cardteam,.timeruler,.dayhead,.weekday,.calviews,.monthcell.dim,.tabs button,.fieldchoices button,.jobviewtab,.customerordertabs button,.activityfilters button,.nav button,.jobactions>button,.languagebutton,.timerother,.timemanual,.viewerfiles button,.viewercontrols button,.profile-actions .profile-logout){background:var(--soft);border-color:var(--stroke);color:var(--ink)}
html[data-theme=dark] :is(.avatar,.profile-avatar){background:#843039;color:#fff;border:1px solid #a86970}
html[data-theme=dark] :is(.job p,.box p,.briefcontent,.fact span,.jobfacts,.customerorder p,.selectedteam,.profile-description,.trackingtotal>strong,.archivenotice strong,.contactgrid textarea,.profile-heading h2,.contactgrid input,.customerlink){color:var(--ink)}
html[data-theme=dark] :is(p,small,.hint,.meta,.bottom,.person small,label,.quietbutton,.controlcaption,.controlcaption>span,.duedetail,.quickteamfoot,.appointmentsheader,.appointmentday small,.briefcontent h4,.fact small,.sourceinfo,.sourceinfo a,.formdetails summary,.fieldchoices span,.removefield,.templatepreview,.templatepreview details,.templatepreview ol,.activitymeta,.timeentry small,.customerrow small,.steprow.done .stepmain>span,.stepmain small,.stepmore,.expandsteps,.subtleadd,.emptyaction,.customerfacts small,.archivenotice small,.stationcontrols label,.trackingcontrols label,.trackingtotal small,.timerecord small,.timerecord>button,.attachmentmeta,.viewerheading>span,.viewerloading,.contacttitle span,.contactfoot,.contactgrid label,.jobcontact>p,.contactgrid label>span,.appointmentwork,.trackinghint,.timerecords summary,footer){color:var(--secondary)}
html[data-theme=dark] :is(.assignempty,.moreappointment,.addappointment,.quickteamfoot button,.appointmentsheader button,.appointmentmain small,.appointmentedit,.duecontrol input,.customerorderactions button){color:var(--ink)}
html[data-theme=dark] :is(.hourline,.person,.history,.steprow,.formdetails,.activityfilters,.timeentry,.customerrow,.duecontrol,.quickteam,.appointmentsheader,.appointmentrow+.appointmentrow,.customerorderactions,.timerecords,.timerecord,.viewerhead,.viewercontrols,.profile-actions,.account .user){border-color:var(--stroke)}
html[data-theme=dark] :is(.primary,.quick button.active,.jobviewtab.active,.customerordertabs .selected,.calviews .on,.timerstart,.timereportbutton,.archivenotice button,.send button,.add,.nav .selected,.tabs .selected,.quickteamchoices button.selected,.jobviewheading .customersentry,.profile-actions .profile-manage,.account button:not(.themebutton):not(#storage-refresh),.login-page form button){background:#c82c3b;color:#fff;border-color:#f06b75}
html[data-theme=dark] :is(.primary,.quick button.active,.jobviewtab.active,.nav .selected,.jobviewheading .customersentry,.timerstart,.timereportbutton,.profile-manage) :is(span,small,b,strong){color:#fff}
html[data-theme=dark] .jobviewtab b{background:#404650;color:#f5f5f3}html[data-theme=dark] .jobviewtab.active b{background:#92222d;color:#fff}
html[data-theme=dark] :is(.logo b,.sub,.link,.contactfoot button,.account a){color:#ff9e60}
html[data-theme=dark] .nav{background:rgba(34,37,43,.86);border-color:#666d79;box-shadow:0 8px 24px #0005;backdrop-filter:blur(12px)}
html[data-theme=dark] .nav button{border:1px solid #626976}
html[data-theme=dark] :is(.prominentfacts .carddate,.appointmentday){background:#f18a45;color:#17191d;border:1px solid #ffb584;border-radius:8px;padding:6px 9px;font-weight:750}
html[data-theme=dark] .appointmentday small{color:#17191d}
html[data-theme=dark] .prominentfacts .cardteam{border:1px solid #5e6674}
html[data-theme=dark] :is(.globaltimer,.timerstop){background:#f18a45;border-color:#ffb584;color:#17191d}
html[data-theme=dark] .globaltimer *{color:inherit}
html[data-theme=dark] .jobactions .approval{background:#493320;border-color:#d4874e;color:#ffd2ad}
html[data-theme=dark] .jobactions .approval.approved{background:#233c32;border-color:#719b82;color:#d0f1df}
html[data-theme=dark] .jobactions .approval.revision{background:#49262d;border-color:#d3707c;color:#ffd4da}
html[data-theme=dark] .jobactions .approval.neutral{background:var(--soft);border-color:var(--stroke);color:var(--secondary)}
html[data-theme=dark] .jobactions .approval small{color:inherit}
html[data-theme=dark] :is(.formerror,.uploadstatus,#error,#storage-error,.account #message){color:#ffb4a8}
html[data-theme=dark] .dash-select .dash-select-trigger{background:var(--surface);color:var(--ink);border-color:var(--stroke)}
html[data-theme=dark] .dash-select-arrow{color:var(--secondary)}
html[data-theme=dark] .dash-select-menu{background:#292d35;color:var(--ink);border-color:#717989;color-scheme:dark;scrollbar-color:#717989 #292d35;box-shadow:0 8px 26px #0006}
html[data-theme=dark] :is(.dash-option.focused,.dash-option:hover){background:#483037;border-color:#a96069}
html[data-theme=dark] .dash-option[aria-selected=true]{color:#ffb9bf}
html[data-theme=dark] .uploadarea{background:var(--surface);border-color:#79818d;color:var(--ink)}
html[data-theme=dark] .attachmentthumb{background:repeating-conic-gradient(#22252b 0% 25%,#30343e 0% 50%) 0/16px 16px}
html[data-theme=dark] :is(.filefallback,.filetype,.fileloading){color:var(--ink);background:var(--soft)}
html[data-theme=dark] .viewerstage{background:#17191d}
html[data-theme=dark] :is(.workflowprogress,.cardprogress){background:#414752}
html[data-theme=dark] :is(.workflowprogress i,.cardprogress span){background:#f18a45}
html[data-theme=dark] .steprow.done .stepcheck{background:#30453b;color:#d0f1df;border-color:#719b82}
html[data-theme=dark] #modal>button:first-child{background:var(--soft);color:var(--ink);border-color:var(--stroke)}
html[data-theme=dark] #servernotice{background:#493320;color:#ffd2ad;border-color:#d4874e}
html[data-theme=dark] #servernotice button{background:#302923;color:#ffd2ad;border-color:#d4874e}
html[data-theme=dark] .msg-bubble.mine{background:#3c292f;border-color:#a96069}
html[data-theme=dark] :is(.daytrack,.monthcell,.calviewport,.monthwrap){background-color:#202329;border-color:var(--stroke)}
html[data-theme=dark] .daytrack{background-image:repeating-linear-gradient(to bottom,transparent 0px,transparent 15px,#30353d 15px,#30353d 16px),repeating-linear-gradient(to bottom,transparent 0px,transparent 63px,#555d6a 63px,#555d6a 64px)}
html[data-theme=dark] :is(.timeruler span,.absence-heading,.absence-heading b,.absence-chip span,.travelblock){color:var(--secondary)}
html[data-theme=dark] :is(.absence-chip,.absence-plus,.crewfilters .on){background:var(--soft);color:var(--ink)}
html[data-theme=dark] .abs-day{color:#ffd2ad}html[data-theme=dark] .abs-day span{background:#493320;color:#ffd2ad}
html[data-theme=dark] .demo{background:var(--soft);border-color:var(--stroke);color:var(--secondary)}
html[data-theme=dark] .trackingrunning{border-color:#f18a45}
html[data-theme=dark] :is(button,input,textarea,a):focus-visible{outline:3px solid #ffad78;outline-offset:3px}
html[data-theme=dark] .time-report-preview,html[data-theme=dark] .time-report-preview p{color:#202520}
}
/* Consistent icons in both color themes; text labels remain the action names. */
.ui-icon{display:inline-flex;width:20px;height:20px;vertical-align:-4px;flex:0 0 20px;color:inherit;pointer-events:none;line-height:1}
.ui-icon svg{display:block;width:100%;height:100%}.has-ui-icon>.ui-icon{margin-right:7px}.has-ui-icon:has(>.ui-icon:only-child)>.ui-icon{margin-right:0}
.nav button b>.ui-icon{width:23px;height:23px;vertical-align:middle;margin:0}.nav button b{line-height:1.1}
.add>.ui-icon{width:27px;height:27px;margin:0!important;vertical-align:middle}.jobviewtab>.ui-icon{width:17px;height:17px;flex-basis:17px;margin-right:6px}.jobviewtab{align-items:center}
.quick button>.ui-icon{display:inline-flex;margin-right:6px}.quick button.has-ui-icon>span:first-of-type{display:inline-block}
.send button>.ui-icon,.viewerclose>.ui-icon{margin:0}.msg-compose-foot button{white-space:nowrap}
@media print{.ui-icon{display:none!important}}

/* 0.1.8: appointment action and spacious briefing editor */
html .appointmentsheader .appointmentplus{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#c62532;color:#fff;border:1px solid #e3676e;font-size:30px;line-height:1;box-shadow:none}
.appointmentplus span{color:inherit!important;line-height:1}
#modal:has(.briefingeditor){width:min(920px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:90dvh;box-sizing:border-box;overflow:auto}
#modal .briefingeditor{width:100%;min-width:0}
#modal .briefingeditor textarea{display:block;width:100%;box-sizing:border-box;min-height:320px;height:42dvh;resize:vertical;font:400 16px/1.65 inherit;font-family:inherit;font-size:16px;line-height:1.65;padding:16px}
.brieftools{display:flex;gap:8px;margin:10px 0}.brieftools button{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink)}
.briefpreview{white-space:normal;overflow-wrap:anywhere;line-height:1.65;padding:16px;border:1px solid var(--line);border-radius:12px;margin:12px 0 18px;color:var(--ink);background:var(--surface)}.briefpreview:empty{display:none}
@media(max-width:600px){#modal:has(.briefingeditor){padding:18px}#modal .briefingeditor textarea{min-height:260px;height:40dvh}}

.appointmentplus svg{width:24px;height:24px;margin:0!important}.appointmentplus>span:empty{display:none}
