:root{--blue:#123b6d;--blue2:#1f5a9d;--bg:#f3f6fa;--line:#dce4ec;--text:#243142;--danger:#a61b1b;--ok:#176b3a}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue2);text-decoration:none}.topbar{background:var(--blue);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{color:#fff;font-weight:700;font-size:20px}.topbar nav{display:flex;gap:16px;flex-wrap:wrap}.topbar nav a{color:#fff}.container{max-width:1200px;margin:24px auto;padding:0 16px}footer{text-align:center;padding:30px;color:#667}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px;box-shadow:0 2px 8px rgba(0,0,0,.03)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat strong{display:block;font-size:30px;color:var(--blue)}h1,h2,h3{color:#18324f}.btn{display:inline-block;border:0;border-radius:6px;background:var(--blue2);color:#fff;padding:10px 14px;cursor:pointer}.btn.secondary{background:#667}.btn.danger{background:var(--danger)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}label{display:block;font-weight:600;margin:10px 0 5px}input,select,textarea{width:100%;padding:10px;border:1px solid #bfcbd7;border-radius:6px;background:#fff}textarea{min-height:100px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eef3f8}.table-wrap{overflow:auto}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eef6;font-size:12px}.badge.Completed{background:#dff2e6;color:#165b32}.badge.Urgent{background:#ffe0e0;color:#8a1010}.alert{padding:12px;border-radius:6px;margin-bottom:12px}.alert.success{background:#dff2e6;color:#165b32}.alert.error{background:#ffe2e2;color:#8a1010}.muted{color:#667;font-size:13px}.timeline{border-left:3px solid #b8c8da;padding-left:16px}.timeline article{margin:0 0 16px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery img{width:100%;height:150px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.login{max-width:430px;margin:70px auto}.searchbar{display:flex;gap:8px}.searchbar input{flex:1}@media(max-width:800px){.grid,.grid.two,.form-row,.gallery{grid-template-columns:1fr}.topbar{align-items:flex-start}.searchbar{flex-direction:column}}

.attachment-name{max-width:300px;overflow-wrap:anywhere;margin-top:.3rem;font-size:.9rem}
input[type=file]{padding:.65rem;background:#fff;border:1px dashed #9fb2c8}
.case-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.case-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.case-filters{grid-template-columns:1fr}}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.page-heading h1{margin-bottom:4px}.form-section{padding:22px}.section-title{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px}.section-title h2{margin:0}.section-title p{margin:4px 0 0}.step{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--blue2);color:#fff;font-weight:700}.form-row{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.sticky-submit{position:sticky;bottom:0;z-index:5;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 -4px 18px rgba(0,0,0,.08);border-radius:10px;padding:14px 18px;margin:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}.btn-large{padding:13px 24px;font-size:16px}.alert ul{margin-bottom:0}@media(max-width:900px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}}@media(max-width:800px){.page-heading,.sticky-submit{align-items:stretch;flex-direction:column}.form-row{grid-template-columns:1fr}.span-2{grid-column:span 1}.sticky-submit .btn{width:100%}}

/* Public customer case form */
.public-heading{max-width:900px;margin-left:auto;margin-right:auto}.public-case-form{max-width:900px;margin:0 auto}.public-intro{max-width:900px;margin-left:auto;margin-right:auto;border-left:4px solid var(--blue2)}.public-intro p{margin-bottom:0;line-height:1.55}.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.short-textarea{min-height:74px}.public-success{max-width:680px;margin:70px auto;text-align:center;padding:38px}.public-success h1{margin-top:12px}.success-icon{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;background:#dff2e6;color:#176b3a;font-size:34px;font-weight:700}.case-reference{margin:24px auto 10px;padding:16px;border-radius:10px;background:#eef3f8;max-width:390px}.case-reference span{display:block;font-size:13px;color:#667;margin-bottom:5px}.case-reference strong{display:block;font-size:25px;color:var(--blue);letter-spacing:.4px}.public-actions{justify-content:center}.public-case-form .card{box-shadow:0 3px 12px rgba(20,50,80,.05)}

.issue-item{border:1px solid var(--line);border-radius:10px;padding:16px;margin:14px 0;background:#fbfdff}.issue-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.issue-item-head h3{margin:0}.issue-item-head .remove-issue{padding:7px 10px}.add-issue{margin-top:4px}.order-level-row{margin-bottom:10px}.case-items-summary{margin-top:20px}.case-item-card{border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0;background:#f9fbfd}.case-item-card h3{margin-top:0}@media(max-width:800px){.issue-item-head{align-items:stretch;flex-direction:column}.issue-item-head .remove-issue{width:100%}}

/* Public confirmation sharing tools */
.confirmation-tools{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:20px 0 8px}.confirmation-tools .email-confirmation-form{margin:0}.confirmation-tools .email-confirmation-form .btn{width:auto}.confirmation-email-note{text-align:center}.public-success .alert{text-align:left}@media(max-width:650px){.confirmation-tools{flex-direction:column}.confirmation-tools .btn,.confirmation-tools .email-confirmation-form,.confirmation-tools .email-confirmation-form .btn{width:100%}}
@media print{.topbar,footer,.confirmation-tools,.public-actions,.alert{display:none!important}.container{max-width:none;margin:0;padding:0}.public-success{max-width:none;margin:0;border:0;box-shadow:none}.case-reference{border:1px solid #ccc}}

/* Public case status */
.public-status-entry{max-width:900px;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--blue2)}
.public-status-entry p{margin:6px 0 0;line-height:1.5;color:#667}
.public-status-entry .btn{white-space:nowrap}
.public-status-wrap{max-width:900px;margin-left:auto;margin-right:auto}
.public-status-search .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.status-result-card{padding:26px}
.status-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}
.status-result-header h2{margin:5px 0 0}
.public-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:#e8eef6;color:var(--blue);font-weight:700;white-space:nowrap}
.status-completed{background:#dff2e6;color:#165b32}.status-cancelled{background:#ffe2e2;color:#8a1010}.status-action-required-from-customer{background:#fff0c9;color:#7a4f00}.status-in-progress,.status-processing{background:#e5effd;color:#174f8d}.status-submitted{background:#eef3f8;color:#42566d}
.status-message{background:#f6f9fc;border:1px solid var(--line);border-radius:8px;padding:14px 16px;line-height:1.55;margin-bottom:18px}
.status-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.status-detail-grid>div{padding:12px;background:#fbfdff;border:1px solid var(--line);border-radius:8px}
.status-detail-grid span{display:block;color:#667;font-size:12px;margin-bottom:5px}.status-detail-grid strong{display:block;overflow-wrap:anywhere}
.status-items{border-top:1px solid var(--line);padding-top:16px}.status-items h3{margin-top:0}.status-item-row{padding:11px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr;gap:5px 16px}.status-item-row small{grid-column:1/-1;color:#667}.status-privacy-note{margin-top:18px}
.public-nav{display:flex;gap:16px;flex-wrap:wrap}.public-nav a{color:#fff}
@media(max-width:800px){.public-status-entry,.status-result-header{align-items:stretch;flex-direction:column}.public-status-entry .btn{width:100%;text-align:center}.public-status-search .form-row,.status-detail-grid{grid-template-columns:1fr}.status-item-row{grid-template-columns:1fr}.status-item-row small{grid-column:auto}}


/* v10 customer-visible updates and simplified case status */
.badge.case-status-active,.public-status-badge.status-active{background:#e5effd;color:#174f8d}
.badge.case-status-partially-done,.public-status-badge.status-partially-done{background:#fff0c9;color:#7a4f00}
.badge.case-status-closed,.public-status-badge.status-closed{background:#dff2e6;color:#165b32}
.badge.customer-visible{background:#dff2e6;color:#165b32}.badge.internal-only{background:#eef1f4;color:#5c6673}
.public-update-toggle{display:flex;align-items:center;gap:9px;margin:14px 0 5px;font-weight:700}.public-update-toggle input{width:auto;margin:0;transform:scale(1.15)}
.customer-updates{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.customer-updates h3{margin-top:0}.customer-update-card{border:1px solid var(--line);border-radius:8px;background:#fbfdff;padding:14px 16px;margin:10px 0}.customer-update-card p{margin:10px 0 0;line-height:1.55}.customer-update-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-update-meta span{font-size:12px;color:#667}
@media(max-width:650px){.customer-update-meta{align-items:flex-start;flex-direction:column}}
