:root{--navy:#0E2B54;--navy2:#173B70;--ink:#203656;--muted:#5C718D;--blue:#1764C9;--blue-dark:#104FAD;--line:#DDE6F3;--canvas:#F3F7FD;--white:#fff;--orange:#ed9d49;--red:#bd504e;--shadow:0 2px 10px rgba(19,56,111,.055);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(23,100,201,.14)}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;flex:0 0 248px;background:var(--navy);color:#D8E6FA;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;padding:25px 15px 20px}.brand,.login-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 11px;color:#fff;margin-bottom:46px}.brand strong,.login-brand strong{font-size:12px;letter-spacing:1.15px;display:block;white-space:nowrap}.brand em,.login-brand em{color:#9CCCFF;font-style:normal}.brand small,.login-brand small{font-size:10px;letter-spacing:3px;display:block;color:#BAD1F1;margin-top:4px}.brand-mark{width:43px;height:43px;background:var(--blue);display:grid;place-items:center;color:#fff;font-size:28px;font-weight:800;border-radius:11px;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.sidebar-caption{font-size:10px;letter-spacing:2px;color:#92B2DD;padding:0 14px;margin-bottom:12px;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;color:#D2E2FA;font-weight:600}.nav-link:hover,.nav-link.current{background:#1D4D8E;color:#fff}.nav-link.current:before{content:"";height:22px;width:3px;background:#68B5FF;position:absolute;left:0;border-radius:0 2px 2px 0}.nav-icon{font-size:19px;width:22px;text-align:center;color:#9EC7F3}.sidebar-bottom{display:flex;gap:10px;align-items:center;margin-top:auto;border-top:1px solid #234B82;padding:20px 6px 0}.avatar{height:40px;width:40px;border-radius:11px;background:#E7F1FF;color:var(--blue-dark);display:grid;place-items:center;font-size:19px;font-weight:750;flex-shrink:0}.sidebar-bottom .avatar{background:#1D4E8D;color:#C4DDFF}.sidebar-person{min-width:0;flex:1}.sidebar-person strong,.sidebar-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-person strong{font-size:12px;color:#fff}.sidebar-person small{font-size:11px;color:#B2CAE9}.signout{border:0;background:transparent;color:#C5D9F5;font-size:24px}.signout:hover{color:white}.workspace{width:calc(100% - 248px);min-width:0;min-height:100vh;display:flex;flex-direction:column}.topbar{padding:24px 35px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.eyebrow{display:block;letter-spacing:1.7px;font-size:10px;color:#91a0ac;font-weight:800}.topbar h1{margin:4px 0 0;font-size:22px;font-weight:800;letter-spacing:-.5px;color:#173961}.user-pill{background:#F1F6FF;border:1px solid #e4edf0;border-radius:99px;padding:8px 14px;white-space:nowrap;font-size:12px;color:#526c80}.content{max-width:1600px;width:100%;padding:29px 35px 55px;margin:0 auto;flex:1}.footer{padding:18px 35px;color:#97a5af;font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-heading h2{font-size:19px;color:#153A68;margin:0 0 4px;font-weight:800;letter-spacing:-.3px}.section-heading p{margin:0;color:var(--muted);font-size:13px}.button-group{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 15px;border:1px solid transparent;font-size:12px;font-weight:750;min-height:38px;white-space:nowrap;transition:background .15s,transform .15s;cursor:pointer}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.subtle{background:#fff;color:#3b5668;border-color:#CBDBEF}.btn.subtle:hover{background:#EFF5FF}.btn.full{width:100%;padding:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:19px}.stat-card{padding:23px 22px;background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:147px}.stat-label{font-size:12px;color:#62788c;font-weight:650}.stat-num{font-size:34px;line-height:1.3;letter-spacing:-1.5px;color:var(--navy);margin:9px 0 4px}.stat-card small{color:#8796a2;font-size:11px}.stat-card.attention .stat-num{color:var(--red)}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);margin-bottom:19px;padding:22px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-head h3,.panel h3{font-size:15px;margin:0;color:#234469}.panel-head a,.minor-link{font-weight:750;font-size:12px;color:var(--blue-dark)}.panel-head a:hover,.minor-link:hover{text-decoration:underline}.panel-pill{background:#fbebe9;color:#ab625b;font-size:11px;padding:4px 9px;border-radius:12px}.panel-head.count{margin:4px 0 8px}.split-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}.split-layout .panel{margin-bottom:18px}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px;white-space:nowrap}th{text-transform:uppercase;letter-spacing:.9px;font-size:10px;color:#8b9ba8;font-weight:750;padding:11px 11px;background:#F4F8FD;border-bottom:1px solid var(--line)}td{padding:15px 11px;border-bottom:1px solid #edf1f4;vertical-align:middle;color:#4d6477}tr:last-child td{border-bottom:0}tbody tr:hover{background:#F6F9FF}.strong-link{font-weight:750;color:#163D74}.strong-link:hover{color:var(--blue-dark)}.overline{font-size:10px;letter-spacing:1.15px;color:#94a4b0;font-weight:800;text-transform:uppercase}.subline{font-size:11px;color:#8a9ba8;margin-top:4px;white-space:normal}.date-cell{font-variant-numeric:tabular-nums}.tag{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;background:#E8EFF8;color:#4C6384;font-size:11px;font-weight:750;white-space:nowrap}.tag-active,.tag-in_progress,.tag-done,.tag-completed{background:#e6f5f1;color:#188376}.tag-planned,.tag-todo,.tag-normal{background:#E7F1FF;color:#315D92}.tag-on_hold,.tag-blocked,.tag-urgent,.tag-cancelled{background:#fcebea;color:#b95753}.tag-high{background:#fff1dc;color:#a87528}.tag-low{background:#eef3f5;color:#657b83}.tag-inactive{background:#f6e7e6;color:#a45b5b}.progress-wrap{display:flex;align-items:center;gap:9px;min-width:125px}.progress{background:#E7EEF8;height:9px;min-width:100px;flex:1;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--blue);border-radius:99px;max-width:100%}.progress.tiny{height:6px;min-width:60px}.progress-label{font-size:12px;color:#4a6678;min-width:32px;font-variant-numeric:tabular-nums}.empty-state{padding:31px 14px;text-align:center;color:#8a9daa;background:#f8fafb;border-radius:8px;font-size:12px}.empty-state.positive{color:#518c78;background:#f3faf7}.filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.filter-bar input{flex:1;min-width:220px}.filter-bar input,.filter-bar select{padding:9px 12px;border-radius:7px;border:1px solid #C9D9ED;background:white;font-size:12px;min-height:39px}.filter-bar select{min-width:145px}.breadcrumb{margin-bottom:18px;color:#98a7b2;font-size:12px}.breadcrumb a{color:var(--blue-dark);font-weight:700}.project-hero{display:flex;align-items:center;gap:30px;justify-content:space-between;border-top:3px solid var(--blue);padding:25px 28px}.project-hero h2{font-size:24px;letter-spacing:-.5px;margin:5px 0}.project-hero p{color:#56769C;max-width:730px;margin:0 0 13px;white-space:pre-line}.hero-tags{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#637b8b;font-size:11px;font-weight:650}.hero-progress{min-width:210px;flex:0 0 210px}.hero-progress>span{display:block;font-size:10px;font-weight:800;color:#8c9cab;letter-spacing:1px;margin-bottom:12px}.hero-progress .progress{height:12px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:19px}.info-tile{padding:18px 19px;border:1px solid var(--line);border-radius:9px;background:white;min-width:0}.info-tile span:first-child{display:block;color:#8796a1;font-size:11px;margin-bottom:7px}.info-tile strong{display:block;color:#274A74;font-size:13px;overflow-wrap:anywhere}.info-tile .tag{display:inline-flex}.updates-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);align-items:start}.feed-list{display:flex;flex-direction:column;gap:15px}.feed-card{padding:17px;border:1px solid #e6ebef;background:#FBFDFF;border-radius:9px}.feed-top{display:flex;gap:10px;align-items:center}.avatar.sm{width:34px;height:34px;font-size:13px;border-radius:9px}.feed-top>div:nth-child(2){flex:1;min-width:0}.feed-top strong{font-size:12px}.feed-percent{margin-left:auto;font-weight:800;color:var(--blue-dark);font-size:14px}.feed-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#496991;margin:13px 0 0}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.photo{aspect-ratio:4/3;border-radius:7px;border:1px solid #e6ecef;overflow:hidden;display:block;background:#E8F1FD}.photo img{width:100%;height:100%;object-fit:cover;display:block}.form-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.form-grid{display:grid;gap:15px;margin-bottom:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}.form-grid .form-field{margin-bottom:0}.form-field>span{font-weight:700;font-size:12px;color:#4b6475}.form-field i{font-style:normal;color:#ce705c}.form-field input,.form-field select,.form-field textarea{border:1px solid #CBDCF0;border-radius:8px;padding:10px 12px;color:#25466E;background:#fff;width:100%;min-width:0}.form-field textarea{resize:vertical;min-height:100px}.form-field input[type=file]{font-size:11px;padding:10px 6px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.muted{color:#8999a6!important;font-size:12px}.hint-panel{background:#EEF5FF;border:1px solid #e7eef1;padding:12px 15px;border-radius:8px;color:#5f7889;font-size:12px}.hint-panel strong{font-size:12px;color:#315B8B}.hint-panel p{margin:5px 0 0}.update-form .btn{margin-top:5px}.task-overview .detail-grid{margin-bottom:17px}.task-progress{padding:10px 0;max-width:420px}.task-progress>strong{font-size:12px;display:block;margin-bottom:10px}.alert{padding:13px 17px;border-radius:8px;margin-bottom:18px;font-size:13px}.alert.success{background:#e8f6ef;color:#207b5f;border:1px solid #cde8d9}.narrow{max-width:620px}.account-summary{display:flex;gap:13px;align-items:center;padding-bottom:20px;margin-bottom:23px;border-bottom:1px solid var(--line)}.account-summary p{margin:2px 0;color:#8497a5;font-size:12px}.auth-workspace{width:100%;display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(145deg,#EBF3FF,#F8FAFF)}.auth-workspace .topbar{display:none}.auth-workspace .content{display:flex;justify-content:center;align-items:center;padding:30px}.login-brand{position:absolute;top:30px;left:35px}.login-brand strong{color:var(--navy)}.login-panel{width:100%;max-width:860px;background:#fff;border:1px solid #e3ebee;border-radius:15px;box-shadow:0 15px 70px rgba(29,65,84,.09);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.login-intro{background:var(--navy);padding:65px 44px;display:flex;flex-direction:column;justify-content:center;color:white}.login-intro .eyebrow{color:#9DCBFF}.login-intro h2{font-size:30px;line-height:1.2;margin:15px 0;letter-spacing:-.8px}.login-intro p{color:#D3E4FF;font-size:13px;line-height:1.8}.login-form{padding:60px 38px}.login-form h3{font-size:19px;margin:0 0 28px}.login-form .muted{display:block;text-align:center;margin:14px 0}.auth-error,.error-panel{margin:auto;padding:55px 35px;text-align:center;background:white;border:1px solid var(--line);border-radius:12px;max-width:520px;width:100%}.error-code{font-size:70px;font-weight:900;color:var(--blue);line-height:1}.error-panel h2{font-size:20px}.error-panel p{color:#738797;font-size:13px;margin-bottom:25px}
@media(max-width:1300px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-layout{grid-template-columns:1fr}.content{padding:25px}.topbar{padding:22px 25px}}@media(max-width:800px){.app-shell{display:block}.sidebar{position:relative;top:auto;width:100%;height:auto;min-height:unset;display:block;padding:13px 13px 7px}.brand{margin-bottom:12px;padding:0 3px}.brand-mark{height:35px;width:35px;border-radius:8px;font-size:23px}.brand strong{font-size:11px}.brand small{font-size:8px}.sidebar-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:4px}.sidebar nav::-webkit-scrollbar{display:none}.nav-link{flex:0 0 auto;padding:8px 11px;font-size:11px;white-space:nowrap}.nav-icon{font-size:14px;width:14px}.nav-link.current:before{display:none}.workspace{width:100%;min-height:calc(100vh - 115px)}.content{padding:18px 14px 40px}.topbar{padding:15px 17px}.topbar h1{font-size:19px}.user-pill{display:none}.section-heading{align-items:flex-start}.section-heading h2{font-size:17px}.project-hero{align-items:flex-start;flex-direction:column;gap:16px}.hero-progress{width:100%;min-width:0;flex:unset}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding:14px 17px}.login-brand{position:static;padding:15px 18px 0}.auth-workspace .content{padding:22px 14px}.login-panel{grid-template-columns:1fr;max-width:560px}.login-intro{padding:30px}.login-intro h2{font-size:24px}.login-form{padding:30px}.auth-workspace .footer{margin-top:auto}}@media(max-width:540px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:16px 13px;min-height:123px}.stat-num{font-size:29px}.stat-card small{font-size:10px}.panel{padding:15px;margin-bottom:12px}.section-heading{gap:11px;flex-wrap:wrap}.section-heading .btn{margin-top:4px}.form-grid.two,.form-grid.three{grid-template-columns:1fr;gap:14px}.form-card{padding:16px}.filter-bar input,.filter-bar select{min-width:0;width:100%}.filter-bar button{flex:1}.filter-bar a{align-self:center}.detail-grid{gap:8px}.info-tile{padding:12px}.info-tile span:first-child{font-size:10px}.info-tile strong{font-size:12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar h1{font-size:17px}.eyebrow{font-size:9px}.login-intro{padding:25px}.login-form{padding:25px}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.project-hero h2{font-size:21px}}

progress.progress{appearance:none;-webkit-appearance:none;border:0;display:block}progress.progress::-webkit-progress-bar{background:#E7EEF8;border-radius:99px}progress.progress::-webkit-progress-value{background:var(--blue);border-radius:99px}progress.progress::-moz-progress-bar{background:var(--blue);border-radius:99px}

.delivery-photo-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0 20px}.delivery-photo-check{display:flex;align-items:flex-start;gap:7px;border:1px solid #CBDCF0;border-radius:8px;padding:8px;font-size:11px;flex-wrap:wrap;overflow-wrap:anywhere}.delivery-photo-check input{margin-top:3px;flex:0 0 auto}.delivery-photo-check img{width:100%;height:100px;object-fit:contain;background:#ECF3FC;border-radius:5px}.delivery-photo-check span{width:100%}

/* v1.3: touch-first layouts. Desktop sidebar and data tables remain unchanged. */
.mobile-menu { display:none; }
.sidebar-header { min-width:0; }
:focus-visible { outline:3px solid #6FB2FF; outline-offset:3px; }
button, a, summary { -webkit-tap-highlight-color:rgba(23,100,201,.18); }
.content, .section-heading, .section-heading > div, .panel-head, .feed-top, .form-card { min-width:0; }
.section-heading h2, .panel-head h3, .strong-link { overflow-wrap:anywhere; }
input[type="file"] { max-width:100%; }

@media (max-width:800px) {
  /* The native disclosure menu replaces a hard-to-discover scrolling nav bar. */
  .sidebar {
    position:sticky; top:0; z-index:50; height:auto; min-height:0;
    padding:9px 13px; box-shadow:0 3px 14px rgba(9,31,44,.13);
  }
  .sidebar-header { display:flex; gap:10px; align-items:center; justify-content:space-between; }
  .sidebar .brand { min-width:0; margin:0; padding:0; }
  .sidebar .brand > div:last-child { min-width:0; }
  .sidebar .brand strong { white-space:normal; line-height:1.1; letter-spacing:.65px; }
  .sidebar .brand small { letter-spacing:1.8px; }
  .sidebar-caption, .sidebar-bottom, .sidebar nav.desktop-nav { display:none; }
  .mobile-menu { display:block; flex:0 0 auto; position:relative; }
  .mobile-menu summary {
    list-style:none; min-width:85px; min-height:44px; display:flex;
    align-items:center; justify-content:center; gap:7px;
    border:1px solid #355A84; border-radius:9px; padding:9px 11px;
    color:white; background:#184579; font-size:13px; font-weight:700; cursor:pointer;
  }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary span:first-child { font-size:19px; line-height:1; }
  .mobile-menu[open] summary { background:#1D4278; border-color:#A2C9F7; }
  .mobile-menu-panel {
    position:absolute; right:0; top:calc(100% + 9px);
    width:min(310px, calc(100vw - 26px)); max-height:calc(100vh - 88px); max-height:calc(100dvh - 88px);
    overflow-y:auto; padding:12px; background:var(--navy);
    border:1px solid #365B8B; border-radius:13px;
    box-shadow:0 15px 36px rgba(8,30,73,.30);
  }
  .mobile-menu-user { padding:9px 10px 14px; border-bottom:1px solid #315A8C; margin-bottom:8px; }
  .mobile-menu-user strong, .mobile-menu-user small { display:block; overflow-wrap:anywhere; }
  .mobile-menu-user strong { font-size:14px; color:#fff; }
  .mobile-menu-user small { margin-top:3px; color:#a2bdc9; font-size:12px; }
  .sidebar .mobile-menu nav { display:flex; flex-direction:column; gap:4px; overflow:visible; }
  .mobile-menu nav .nav-link { font-size:14px; min-height:44px; padding:10px 12px; width:100%; }
  .mobile-menu nav .nav-icon { font-size:19px; width:24px; }
  .mobile-menu .mobile-logout {
    display:block; width:100%; text-align:left; border:0; border-top:1px solid #315A8C;
    background:transparent; color:#E7F3FF; padding:14px 12px 10px;
    margin-top:8px; min-height:46px; font-weight:700; font-size:14px;
  }
  .mobile-menu .mobile-logout:hover { background:#1D4D8E; }
  .workspace { min-height:calc(100vh - 64px); }
  .workspace .topbar { padding:16px 16px 13px; }
  .content { padding:16px 13px 36px; }
  .topbar h1 { line-height:1.2; overflow-wrap:anywhere; }
  .project-hero { padding:18px; }
  .project-hero > div:first-child { min-width:0; width:100%; }
  .project-hero p { overflow-wrap:anywhere; }
  .hero-tags span { overflow-wrap:anywhere; }
  .panel-head { flex-wrap:wrap; }
  .panel { min-width:0; }
  .btn { min-height:44px; padding:11px 14px; font-size:13px; }
  .form-field input, .form-field select, .form-field textarea,
  .filter-bar input, .filter-bar select { min-height:46px; font-size:16px; }
  .form-field input[type=file] { font-size:14px; padding:11px 8px; }
  .form-field textarea { line-height:1.5; }
  .feed-note { font-size:13px; }
  .login-form { min-width:0; }
}

@media (max-width:720px) {
  /* Real mobile task/project cards: no sideways swipe or unreadably squeezed columns. */
  .table-scroll { overflow:visible; }
  table.responsive-table, .responsive-table tbody, .responsive-table tr,
  .responsive-table td { display:block; width:100%; }
  .responsive-table { border-spacing:0; white-space:normal; min-width:0; }
  .responsive-table thead { display:none; }
  .responsive-table tbody { display:grid; gap:10px; }
  .responsive-table tbody tr {
    border:1px solid #e0e8ed; border-radius:10px; background:#fff;
    box-shadow:0 1px 4px rgba(30,55,72,.04); padding:8px 0;
    overflow:hidden;
  }
  .responsive-table td {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    border-bottom:0; padding:7px 13px; font-size:13px;
    min-width:0; white-space:normal; overflow-wrap:anywhere;
  }
  .responsive-table td::before {
    content:attr(data-label); color:#718696; font-weight:650; font-size:11px;
    flex:0 0 91px; text-transform:none; overflow-wrap:break-word;
  }
  .responsive-table td:first-child {
    display:block; padding:9px 13px 11px; margin-bottom:4px;
    border-bottom:1px solid #edf1f4; font-size:14px;
  }
  .responsive-table td:first-child::before { display:none; }
  .responsive-table .strong-link { font-size:14px; display:inline-block; line-height:1.35; }
  .responsive-table .overline { font-size:10px; margin-bottom:3px; }
  .responsive-table .subline { overflow-wrap:anywhere; line-height:1.45; }
  .responsive-table .progress-wrap { min-width:0; width:min(175px,100%); }
  .responsive-table .progress { min-width:52px; }
  .responsive-table tbody tr:hover { background:#fff; }
}

@media (max-width:540px) {
  .section-heading { flex-direction:column; align-items:stretch; }
  .section-heading > .btn, .section-heading > .button-group { width:100%; }
  .section-heading > .btn { display:flex; }
  .section-heading .button-group > .btn { flex:1 1 auto; }
  .section-heading .button-group { display:flex; gap:8px; }
  .panel-head { align-items:flex-start; }
  .panel-head .muted { display:block; }
  .stat-label { line-height:1.35; }
  .stat-card { min-height:132px; }
  .stat-num { margin-top:8px; }
  .form-actions { flex-direction:column-reverse; align-items:stretch; }
  .form-actions .btn { width:100%; }
  .update-form > .btn, .account-summary + form > .btn { width:100%; }
  .filter-bar { display:grid; grid-template-columns:1fr; }
  .filter-bar input, .filter-bar select, .filter-bar button { width:100%; }
  .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .photo { border-radius:9px; }
  .feed-top { flex-wrap:wrap; }
  .feed-percent { white-space:nowrap; }
  .delivery-photo-picks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .delivery-photo-check { padding:7px; }
  .delivery-photo-check img { height:110px; }
  .login-intro { padding:20px; }
  .login-intro h2 { font-size:21px; }
  .login-form { padding:22px 18px; }
  .topbar h1 { font-size:18px; }
}

@media (max-width:360px) {
  .stats-grid { gap:7px; }
  .stat-card { padding:13px 10px; }
  .stat-num { font-size:26px; }
  .mobile-menu summary { min-width:44px; }
  .mobile-menu summary span:last-child { display:none; }
  .responsive-table td::before { flex-basis:77px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; }
}

/* v1.5: manager-only deletion controls; mobile touch sizing; blue theme intact. */
.btn.danger-outline { color:#A11F37; background:#FFF; border:1px solid #DAB0BC; }
.btn.danger-outline:hover { background:#FFF1F3; border-color:#A11F37; }
.btn.danger-solid { color:#FFF; background:#AF2440; border:1px solid #AF2440; }
.btn.danger-solid:hover { background:#8E1630; }
.delete-panel { max-width:740px; padding:24px; }
.delete-panel h2 { margin:8px 0 12px; overflow-wrap:anywhere; }
.delete-panel p { line-height:1.6; overflow-wrap:anywhere; }
.danger-eyebrow { font-size:12px; font-weight:800; color:#9E1A36; text-transform:uppercase; letter-spacing:.07em; }
.delete-form { display:flex; flex-direction:column; gap:18px; margin-top:20px; }
.delete-form input { max-width:420px; }
.delete-form .form-actions { display:flex; gap:10px; align-items:center; }
.delete-photo-preview { margin:15px 0; max-width:420px; border:1px solid #CFD9E7; border-radius:12px; padding:10px; }
.delete-photo-preview img { display:block; max-width:100%; max-height:280px; width:auto; height:auto; object-fit:contain; margin:auto; }
.photo-item { display:flex; flex-direction:column; gap:5px; min-width:0; }
.photo-item .photo { display:block; }
.photo-delete { font-size:12px; color:#9E1A36; font-weight:750; min-height:40px; display:flex; align-items:center; justify-content:center; border:1px solid #E2B8C2; border-radius:7px; background:#FFF7F8; text-decoration:none; }
.photo-delete:hover { color:#7F182D; background:#FFE8EC; }
@media (max-width:540px) { .delete-panel{padding:17px;} .delete-form .form-actions{flex-direction:column;} .delete-form .form-actions .btn{width:100%;text-align:center;justify-content:center;} .photo-delete{min-height:44px;} }

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.gallery-card{border:1px solid #D8E3F2;background:#FAFCFF;border-radius:11px;overflow:hidden;min-width:0}
.gallery-card>a{display:block;background:#E8F1FF;aspect-ratio:4/3}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-card-body{display:flex;flex-direction:column;gap:6px;padding:12px}
.gallery-card-body strong{overflow-wrap:anywhere;color:#153A68;font-size:13px}
.gallery-card-body small{color:#6F829A;line-height:1.35}
.gallery-card-body p{margin:0 0 6px;color:#415B77;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.gallery-card-body>.btn{align-self:stretch}
.gallery-pagination{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:16px;font-size:12px;color:#62788c}
@media(max-width:540px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-card-body{padding:9px}.gallery-card-body .btn{font-size:11px;padding:8px}.gallery-card-body small{font-size:10px}}
@media(max-width:360px){.gallery-grid{grid-template-columns:1fr}}
