/* Warren Will artist workspace — mobile first, progressively enhanced. */
:root{--app-bg:#f4f2ec;--app-ink:#182923;--app-muted:#626d65;--app-line:#dce1d8;--app-green:#284f3c;--app-gold:#ddbd69}
#artistApp{max-width:1040px;margin:auto;padding:28px 22px 120px;color:var(--app-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;font-size:16px}
#artistApp *,#artistDialog *{box-sizing:border-box}
#artistApp h1{font-size:clamp(30px,5vw,48px);line-height:1.1;letter-spacing:-1.5px;margin:8px 0 12px;font-weight:600}
#artistApp h2{font:600 21px/1.3 Arial,sans-serif;letter-spacing:-.4px;color:var(--app-ink);margin:28px 0 14px;padding:0;border:0}
#artistApp h2:before{display:none}#artistApp h3{font:600 17px/1.4 Arial,sans-serif;margin:0 0 7px;color:inherit}
#artistApp p{margin:6px 0 12px}#artistApp .eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--app-muted)}
#artistApp .muted,#artistDialog .muted{color:var(--app-muted);font-size:13px}
#artistApp .app-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
#artistApp .app-titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:25px}
#artistApp .app-btn,#artistDialog button,#artistDialog .app-btn{font:600 14px/1.3 Arial,sans-serif;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--app-line);border-radius:10px;min-height:44px;padding:10px 15px;background:white;color:var(--app-ink);cursor:pointer;text-decoration:none;white-space:normal}
#artistApp .primary,#artistDialog .primary{background:var(--app-green);border-color:var(--app-green);color:white}
#artistApp button:disabled,#artistDialog button:disabled{opacity:.5;cursor:not-allowed}
#artistApp button:focus-visible,#artistApp a:focus-visible,#artistDialog :focus-visible{outline:3px solid #a37a25;outline-offset:3px}
#artistApp .app-actions,#artistDialog .app-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#artistApp .app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#artistApp .app-card{background:#fff;border:1px solid var(--app-line);border-radius:16px;padding:20px;min-width:0;overflow-wrap:anywhere}
#artistApp .app-card.hero{background:var(--app-ink);color:#fff;border:0;padding:26px}
#artistApp .hero .muted,#artistApp .hero .eyebrow{color:#b8c9bc}#artistApp .hero h3{font-size:26px;margin:16px 0 6px}#artistApp .hero .primary{background:var(--app-gold);border-color:var(--app-gold);color:#202a20}
#artistApp .app-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--app-line)}#artistApp .app-row:last-child{border-bottom:0}#artistApp .app-row>div:first-child{min-width:0}
#artistApp .app-list{background:white;border:1px solid var(--app-line);border-radius:16px;padding:0 20px}
#artistApp .app-date{display:block;color:var(--app-muted);font-size:12px;font-weight:600;margin-bottom:5px}
#artistApp .badge{display:inline-flex;align-items:center;font-size:12px;line-height:1.4;font-weight:600;border-radius:5px;padding:4px 7px;background:#eef2eb;color:#355640;margin:3px 4px 3px 0}
#artistApp .badge.attention{background:#faf0d9;color:#78570d}#artistApp .badge.problem{background:#fae9e4;color:#974b32}#artistApp .badge.neutral{background:#f0f1f0;color:#657169}
#artistApp .app-empty{padding:28px 22px;border:1px dashed #c9d2c7;border-radius:14px;color:var(--app-muted);background:#f9faf6}
#artistApp .app-notice{padding:12px 15px;margin-bottom:18px;background:#fbf2d9;border-radius:10px;font-size:13px;color:#78570d}
#artistApp .stat-number{font-size:28px;letter-spacing:-1px;display:block;font-weight:600;margin:8px 0}
#artistApp .stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
#artistApp .stat-grid .app-card{padding:16px}
#artistApp .app-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
#artistApp .app-filters button{border-radius:30px;font-size:12px;min-height:40px}#artistApp .app-filters button[aria-pressed=true]{background:var(--app-ink);color:white;border-color:var(--app-ink)}
#artistApp input,#artistApp select,#artistDialog input,#artistDialog select,#artistDialog textarea{width:100%;max-width:100%;min-height:46px;border:1px solid #c7d0c6;border-radius:8px;background:#fff;color:#182923;font:16px/1.4 Arial,sans-serif;padding:10px 12px;letter-spacing:0;outline-offset:3px}
#artistApp input[type=search]{margin:0 0 16px}#artistDialog input[type=checkbox]{width:22px;min-height:22px;vertical-align:middle}
#artistDialog label{display:block;font-size:13px;font-weight:600;color:var(--app-ink);margin:16px 0 6px}#artistDialog label>input,#artistDialog label>select,#artistDialog label>textarea{margin-top:6px}
#artistDialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;background:#f9faf6;color:var(--app-ink);box-shadow:0 25px 100px #14231b50;font:15px/1.5 Arial,sans-serif}
#artistDialog::backdrop{background:#14231b90}#artistDialog .dialog-inner{padding:24px}#artistDialog h2{font:600 24px/1.3 Arial,sans-serif;letter-spacing:-.5px;margin:0;color:inherit}
#artistDialog .dialog-header{display:flex;justify-content:space-between;align-items:start;gap:16px}#artistDialog .dialog-header button{min-width:44px;padding:8px}
#artistDialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}#artistDialog .dialog-footer{position:sticky;bottom:0;background:#f9faf6;padding:14px 24px;border-top:1px solid var(--app-line);display:flex;gap:12px;align-items:center;justify-content:space-between}
#artistDialog .form-error{color:#98412c;font-weight:600;font-size:13px;white-space:pre-wrap}#artistDialog .form-status{font-size:12px;color:var(--app-muted)}
#artistDialog .preview-table{overflow:auto;max-height:260px;font-size:12px}#artistDialog table{border-collapse:collapse;width:100%}#artistDialog td,#artistDialog th{padding:8px;text-align:left;border-bottom:1px solid var(--app-line)}
#artistNav{position:fixed;bottom:0;left:0;right:0;z-index:80;display:flex;justify-content:center;gap:8px;background:#fffef9f5;border-top:1px solid var(--app-line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}
#artistNav button{width:140px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px 2px;color:#727a73;background:transparent;border:0;border-radius:10px;font:500 12px/1.2 Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}
#artistNav button[aria-current=page]{background:#eaf0e7;color:#274c39;font-weight:700}#artistNav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#artistToast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);z-index:200;background:#182923;color:white;padding:12px 22px;border-radius:12px;max-width:90vw;font:14px/1.5 Arial,sans-serif;box-shadow:0 6px 28px #0002}
#artistApp .content-caption{white-space:pre-wrap;color:var(--app-muted);font-size:14px;max-height:130px;overflow:auto}
#artistApp .progress-line{height:5px;border-radius:5px;background:#e9eee6;margin:16px 0;overflow:hidden}#artistApp .progress-line span{display:block;background:#5f8867;height:100%}
@media(max-width:640px){#artistApp{padding:20px 16px 120px}#artistApp .app-grid{grid-template-columns:1fr}#artistApp .app-titlebar{align-items:start}#artistApp .app-titlebar>.app-btn{font-size:12px;padding:10px}#artistApp .stat-grid{grid-template-columns:1fr 1fr}#artistApp .stat-number{font-size:25px}#artistApp .app-card{padding:18px}#artistApp .app-row{gap:10px}#artistNav{gap:1px;padding-inline:5px}#artistNav button{width:20%;font-size:12px}#artistDialog .form-grid{grid-template-columns:1fr}#artistDialog .dialog-inner{padding:20px}#artistDialog .dialog-footer{padding:12px 20px}#top{flex-wrap:wrap;height:auto;min-height:66px;padding-block:12px}#genAt{display:none!important}}
@media(prefers-reduced-motion:reduce){#artistApp *,#artistDialog *{scroll-behavior:auto!important;transition:none!important}}

#artistNav[hidden],#artistApp[hidden],#artistToast[hidden]{display:none!important}

#artistDialog .rental-record{padding:14px;margin-block:16px;border:1px solid var(--app-line);border-radius:10px;background:white;overflow-wrap:anywhere}
#artistDialog .rental-record p{white-space:pre-wrap}
#artistDialog section[hidden]{display:none!important}
@media(max-width:640px){#artistApp .app-row:has([data-app="rental"]){align-items:flex-start;flex-direction:column}#artistApp .app-row:has([data-app="rental"]) .app-actions{margin-top:0;width:100%}#artistApp .app-row:has([data-app="rental"]) .app-actions button{flex:1}}
