/* InvoiceSafe V5.2 · sidebar, profiles and finish (shared controls moved to ui-components.css) */
:root{--is-blue:#397aa5;--is-bg:#101a28;--is-panel:#202e42;--is-stroke:#425572;--is-copy:#e9f3ff;--is-muted:#b3c6df;--is-orange:#e7a964}
#is-dashboard{background:radial-gradient(ellipse 530px 275px at calc(100% - 120px) 0%,rgba(68,103,172,.16),transparent 76%),#101923}
.is-top{background:radial-gradient(ellipse 460px 175px at 94% 0%,rgba(66,109,169,.27),transparent 80%),#172234!important}
.is-settings-anchor{display:none}
.is-app-layout{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:calc(100vh - 80px)}
.is-side-nav{background:#162235;border-right:1px solid #31445c;padding:30px 13px 20px;display:flex;flex-direction:column;gap:5px;min-height:calc(100vh - 80px)}
.is-side-caption{font-size:10px;color:#91a9c5;letter-spacing:.12em;font-weight:700;padding:0 14px;margin:5px 0 17px}
.is-side-link{width:100%;display:flex;align-items:center;gap:13px;text-align:left;border:1px solid transparent;padding:12px 13px;background:transparent;color:#bed0e5;border-radius:8px;font-size:13px;font-weight:550;transition:background .15s,color .15s}
.is-side-link svg{height:18px;width:18px;flex:none;stroke-width:1.8}
.is-side-link:hover,.is-side-link:focus-visible{background:#243a53;color:#fff}
.is-side-link.active{background:#29496a;color:#eaf7ff;border-color:#4575a2}
.is-side-divider{height:1px;background:#35465b;margin:18px 10px}
.is-side-privacy{margin:auto 9px 0;color:#8fa8c6;font-size:10px;line-height:1.7;border-top:1px solid #35465b;padding-top:19px}
.is-side-privacy svg{vertical-align:middle;width:15px;height:15px;margin-right:5px}
#is-dashboard .is-shell{min-width:0;width:100%;max-width:none;margin:0;padding:43px clamp(20px,4.2vw,70px) 100px}
.is-workspace-page[hidden]{display:none!important}
.is-section-heading{margin-bottom:28px;max-width:750px}.is-section-heading h1{margin:0 0 10px;font-size:30px;letter-spacing:-.03em;color:var(--ifs-heading-text)}.is-section-heading p{color:#b0c3da;font-size:13px;line-height:1.8;margin:0}
.is-heading-actions{max-width:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.is-help-inline{color:#93b9da;font-size:11px;font-weight:400}
.is-local-note{max-width:630px;border:1px solid #375573;background:#172b42;color:#b9d0e4;border-radius:8px;font-size:12px;line-height:1.7;padding:15px 18px;margin:18px 0}
.is-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px}
.is-client-card{background:var(--ifs-form-panel);border:1px solid #3f5570;border-radius:10px;padding:20px;min-height:175px;position:relative}
.is-client-card.is-client-default{background:#372c28;border-color:#b8793d}
.is-client-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.is-client-card h3{font-size:16px;font-weight:650;color:#f3f8fe;line-height:1.4;margin:0 0 6px;word-break:break-word}
.is-client-card p{font-size:12px;line-height:1.65;white-space:pre-line;color:#b9cce1;margin:12px 0 6px}
.is-client-card small{font-size:11px;color:#a5bdd8;display:block;line-height:1.65;word-break:break-word}
.is-default-label{display:inline-block;border-radius:5px;padding:4px 7px;background:#864b27;color:#ffe6c6;font-size:10px;font-weight:700}
.is-client-menu{position:relative}.is-client-menu summary{list-style:none;cursor:pointer;color:#e4f2ff;font-size:23px;line-height:1;padding:0 5px}.is-client-menu summary::-webkit-details-marker{display:none}
.is-client-menu-pop{position:absolute;right:0;top:25px;z-index:12;display:flex;flex-direction:column;background:#233750;border:1px solid #597899;border-radius:8px;padding:5px;box-shadow:0 16px 32px #020a1780;min-width:175px}
.is-client-menu-pop button{border:0;background:transparent;color:#eef5ff;font-size:12px;cursor:pointer;text-align:left;padding:9px 10px;border-radius:5px}.is-client-menu-pop button:hover{background:#36577b}.is-client-menu-pop .danger{color:#ffbdc4}
.is-empty-clients{color:#b3c9e0;border:1px dashed #53708d;border-radius:9px;padding:27px;font-size:13px;line-height:1.7}
.is-client-dialog form,.is-job-dialog form{display:flex;flex-direction:column;gap:15px;margin-top:20px}.is-client-dialog h2,.is-job-dialog h2{font-size:22px;margin:0}
.is-field-note{color:#b9ccdf;font-size:11px;line-height:1.7;margin:0}
.is-settings-layout{display:grid;grid-template-columns:repeat(2,minmax(290px,1fr));gap:24px;align-items:start;max-width:1100px}
#is-page-settings .is-settings-panel{position:static!important;width:100%;max-width:none;transform:none;box-shadow:none;background:var(--ifs-form-panel);border:1px solid var(--ifs-form-border);border-radius:10px;margin:0;visibility:visible;opacity:1;padding:22px}
#is-page-settings .is-panel-head button{display:none}
#is-page-settings .is-settings-card{padding:22px;max-width:none}
#is-page-settings .is-settings-card h2{font-size:16px;margin:2px 0 4px;color:var(--ifs-heading-text)}
/* Dashboard list: one line per document, consistent image column and action sizes. */
#is-dashboard .is-grid.is-list{display:flex;flex-direction:column;gap:9px;max-width:1050px}
#is-dashboard .is-grid.is-list .is-document{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-height:90px;height:auto;border-radius:8px;overflow:hidden}
#is-dashboard .is-grid.is-list .is-doc-click{display:flex;flex-direction:row;align-items:center;gap:16px;min-height:90px;text-align:left;min-width:0}
#is-dashboard .is-grid.is-list .is-preview{flex:0 0 67px;width:67px;height:84px;min-height:84px;padding:4px;overflow:hidden}
#is-dashboard .is-grid.is-list .is-real-thumb{transform:scale(.35);transform-origin:top center}
#is-dashboard .is-grid.is-list .is-card-info{flex:1;min-width:0;padding:10px 12px;min-height:0}
#is-dashboard .is-grid.is-list .is-card-heading strong{font-size:14px}
#is-dashboard .is-grid.is-list .is-card-location{font-size:12px}
#is-dashboard .is-grid.is-list .is-card-meta{font-size:11px}
#is-dashboard .is-grid.is-list .is-doc-actions{display:flex;align-items:center;gap:6px;min-width:245px;padding:9px;border-top:0;border-left:1px solid #38516c}
#is-dashboard .is-grid.is-list .is-new-card{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:13px;min-height:83px;padding:12px 18px}
#is-dashboard .is-grid.is-list .is-new-plus{width:35px;height:35px;flex:0 0 35px}
#is-dashboard .is-grid.is-list .is-new-card small{margin:0}
/* Form and editor polish: quieter colors, slight radius, stronger subtotals. */
body:not(.is-home) .card{background:#202e40!important;border-color:#3e536a!important;border-radius:8px!important}
body:not(.is-home) .centre-card{background:#24374b!important;border:1px solid #47617b!important;border-radius:8px!important}
body:not(.is-home) .entry{background:#1c3046!important;border:1px solid #3e5572!important;border-radius:6px!important}
body:not(.is-home) .field input,body:not(.is-home) .field textarea,body:not(.is-home) .field select{background:#17293d;border-color:#536f8d;border-radius:6px}
body:not(.is-home) .centre-card .mini-total{border-top:0!important;padding-top:3px!important;margin-top:8px;font-size:13px!important;color:#c8def4;display:flex;justify-content:space-between;gap:15px}
body:not(.is-home) .centre-card .mini-total strong{color:#fff;font-size:16px;font-weight:700}
body.use-centre-tints:not(.is-home) .centre-card.tone-0{background:#243950!important;border-color:#4e7294!important}
body.use-centre-tints:not(.is-home) .centre-card.tone-1{background:#2a3550!important;border-color:#657096!important}
body.use-centre-tints:not(.is-home) .centre-card.tone-2{background:#233b4a!important;border-color:#4e7789!important}
body.use-centre-tints:not(.is-home) .centre-card.tone-3{background:#29364f!important;border-color:#586f92!important}
/* The grip is 110px tall and shifted away from the editor's scroll bar, with no visible rail. */
@media(min-width:1021px){body:not(.is-home) .workspace{grid-template-columns:minmax(310px,var(--editor-width,33.333%)) 26px minmax(0,1fr)!important}.workspace-divider{width:26px!important;pointer-events:none!important}.splitter-grip{width:7px!important;min-width:7px!important;height:110px!important;left:68%!important;pointer-events:auto!important;background:#68a2c8!important;border-color:#add8ee!important}}
/* Restrained invoice templates. These styles apply only to printed document pages. */
.paper.paper-template-modern .paper-top{border-bottom-color:#3976aa;border-bottom-width:5px}
.paper.paper-template-modern .paper-invoice{color:#3976aa;letter-spacing:.11em}
.paper.paper-template-modern .paper-label,.paper.paper-template-modern .paper-subtotal strong{color:#316b9d}
.paper.paper-template-modern .paper-group:before{background:#3f85b5}
.paper.paper-template-modern .paper-rows-heading{background:#e9f2fa;padding:13px 10px;border-color:#c9dcea}
.paper.paper-template-modern .paper-total-line.grand strong{color:#316b9d}
.paper.paper-template-minimal .paper-top{border-bottom:1px solid #b7c0ca}
.paper.paper-template-minimal .paper-invoice{letter-spacing:.03em;color:#252d35;font-weight:600}
.paper.paper-template-minimal .paper-group:before{display:none}
.paper.paper-template-minimal .paper-rows-heading{border-top:none;color:#5e666c;letter-spacing:.04em}
.paper.paper-template-minimal .paper-total-line.grand strong,.paper.paper-template-minimal .paper-label{color:#292f35}
/* Toast in the center, never stuck in the corner. */
.toast{left:50%!important;right:auto!important;bottom:23px!important;transform:translateX(-50%);text-align:center;max-width:min(90vw,540px);min-width:200px}
/* Invoice title clickable to navigate; original font and paper typography unchanged. */
.editor-logo-link{display:flex;align-items:center;gap:10px;cursor:pointer;border:0;background:transparent;color:inherit;padding:4px;border-radius:8px}
.editor-logo-link:hover{background:#294460}
.editor-logo-link:focus-visible{outline:2px solid #8dc6ed}
@media(max-width:1100px){.is-settings-layout{grid-template-columns:1fr}}
@media(max-width:880px){.is-app-layout{grid-template-columns:180px minmax(0,1fr)}.is-side-nav{padding:22px 8px}.is-side-link{font-size:12px;padding:12px 9px;gap:8px}#is-dashboard .is-shell{padding:32px 22px 70px}}
@media(max-width:650px){.is-app-layout{display:block}.is-side-nav{min-height:0;display:flex;flex-direction:row;flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid #344b68}.is-side-caption,.is-side-divider,.is-side-privacy{display:none}.is-side-link{width:auto;white-space:nowrap;padding:10px 11px;font-size:11px}.is-side-link svg{width:15px;height:15px}#is-dashboard .is-shell{padding:25px 15px 65px}.is-section-heading h1{font-size:26px}.is-profile-form,.is-settings-card{padding:18px}.is-heading-actions{align-items:flex-start}.is-heading-actions .is-btn-primary{white-space:nowrap;font-size:11px}.is-client-grid{grid-template-columns:1fr}.is-settings-layout{display:block}.is-settings-card{margin-top:16px}#is-dashboard .is-grid.is-list .is-doc-actions{min-width:0;max-width:125px;flex-wrap:wrap;padding:6px}#is-dashboard .is-grid.is-list .is-preview{display:none}#is-dashboard .is-grid.is-list .is-doc-click{min-height:95px}#is-dashboard .is-grid.is-list .is-card-info{padding:10px}#is-dashboard .is-grid.is-list .is-new-card{min-height:95px}}

/* V5.2 refinement pass: compact, conventional controls. */
.is-home-actions{display:flex;justify-content:flex-end;gap:9px;margin:-8px 0 18px}.is-home-actions button{display:inline-flex;align-items:center;gap:8px;border:1px solid #526b86;border-radius:7px;background:#24374d;color:#d9eafa;padding:9px 13px;font-size:12px;font-weight:600;cursor:pointer}.is-home-actions button:hover{background:#2f4b68}.is-home-actions svg{width:16px;height:16px}
body:not(.is-home) #open-library{display:none!important}
.invoice-jurisdiction{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.invoice-jurisdiction select,.invoice-jurisdiction input{width:100%}
/* Keep the editing handle comfortably clear of the scrollbar. */
@media(min-width:1021px){body:not(.is-home) .workspace{grid-template-columns:minmax(310px,var(--editor-width,33.333%)) 34px minmax(0,1fr)!important}.workspace-divider{width:34px!important}.splitter-grip{height:128px!important;left:72%!important;width:8px!important;min-width:8px!important}}
/* The entire editable phrase remains outlined while the pencil tool is enabled. */
.paper [data-preview-edit][contenteditable="true"]{outline:1px dashed #659ec0!important;outline-offset:3px;background:#cfeaf524!important;border-radius:2px}
.paper [data-preview-edit][contenteditable="true"]:hover{outline:1.5px dashed #478bb8!important;background:#d6eef766!important}
.paper [data-preview-edit][contenteditable="true"]:focus{outline:2px solid #287da8!important;background:#d9f1fa95!important}
/* Text controls should float low, stay narrow and disappear completely on click-away. */
.preview-text-tools:not([hidden]){position:sticky;bottom:3px;padding:6px 9px;gap:8px;border-radius:8px;margin:10px auto 0;width:max-content;max-width:96%;min-height:40px;font-size:11px;z-index:11}
.preview-text-tools label{font-size:11px;gap:5px}.preview-text-tools input[type=color]{height:27px;width:32px}.preview-text-tools select{padding:5px 6px;font-size:11px;height:29px}.preview-text-tools button{padding:5px 8px;font-size:11px;min-height:29px}
@media(max-width:1020px){.invoice-jurisdiction{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.invoice-jurisdiction{grid-template-columns:repeat(2,minmax(0,1fr))}.is-home-actions{justify-content:flex-start;flex-wrap:wrap;margin:0 0 13px}.is-home-actions button{font-size:11px;padding:8px 10px}body:not(.is-home) .preview-text-tools:not([hidden]){position:fixed;bottom:5px;left:8px;right:8px;width:auto;max-height:none;margin:0;padding:6px 9px;flex-wrap:nowrap;justify-content:center}.preview-text-tools label{white-space:nowrap}.preview-text-tools button{white-space:nowrap}}

/* End-of-phase usability & control consistency */
#is-page-settings .is-panel-group :is(input,select,button){font-size:12px}#is-page-settings .is-panel-label{font-size:12px}
body:not(.is-home) .editor .field :is(input,select,textarea){background:#16273a;border:1px solid #54718d;border-radius:6px}
body:not(.is-home) .editor .entry{padding:17px 16px 19px;border-color:#486780!important;background:#182c43!important}
body:not(.is-home) .editor .card{padding-top:20px;padding-bottom:20px}
body:not(.is-home) .editor .card+.card{margin-top:19px}


/* Preview workbench: deliberately deeper navy than the app shell, without
   changing the white invoice page or the exported document. */
:root{--is-preview-workbench:#0b1421}
body:not(.is-home) .preview-zone{background:var(--is-preview-workbench)!important;border-left:1px solid #293c52}
body:not(.is-home) .preview-heading{background:#152236!important;border-bottom-color:#344c67}


/* V5.2 floating preview controls: no toolbar bar/rail, only individual controls.
   The sticky zero-height anchor keeps them present while the preview scrolls,
   and leaves the invoice content itself completely independent. */
.is-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body:not(.is-home) .preview-zone .preview-heading{
  position:sticky;top:10px;z-index:15;display:flex;justify-content:flex-end;
  height:0;min-height:0;max-width:none;margin:0;padding:0;
  background:transparent!important;border:0!important;box-shadow:none!important;
  pointer-events:none;
}
body:not(.is-home) .preview-zone .preview-heading .preview-controls{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;
  flex-wrap:nowrap;width:max-content;max-width:100%;margin:0;
  padding:0;background:transparent;border:0;box-shadow:none;
  pointer-events:auto;
}
body:not(.is-home) .preview-zone .preview-heading :is(.preview-pencil,.zoom-toolbar,.zoom-fit,.page-count){
  box-shadow:0 5px 16px rgba(1,8,20,.4);
}
body:not(.is-home) .preview-zone .preview-canvas{padding-top:66px}
@media(max-width:760px){
  body:not(.is-home) .preview-zone .preview-heading{top:7px;margin:0;padding:0}
  body:not(.is-home) .preview-zone .preview-heading .preview-controls{gap:5px}
  body:not(.is-home) .preview-zone .preview-canvas{padding-top:63px}
  body:not(.is-home) .preview-zone .preview-pencil{width:36px;padding:0}
  body:not(.is-home) .preview-zone .page-count{font-size:10px;padding:7px 6px}
}
@media print{body:not(.is-home) .preview-zone .preview-heading{display:none!important}body:not(.is-home) .preview-zone .preview-canvas{padding-top:0!important}}
