:root{--ink:#17231b;--muted:#687264;--lime:#c7f56b;--line:#dfe5da;--bg:#f5f7f2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,input,select,textarea{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #78a830;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.04em;margin:4px 0 0}h2{font-size:21px;line-height:1.6;letter-spacing:-.02em;margin-bottom:12px}h3{font-size:18px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:0}.admin-layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:#17231b;color:#eff6e9;padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{font-size:45px;font-weight:750;letter-spacing:-3px;line-height:1}.admin-brand span{color:var(--lime);font-size:34px;margin-left:6px}.sidebar-caption{font-size:10px;letter-spacing:.09em;color:#91a089;margin:12px 0 30px}.agency-brand{padding:18px 12px;border-block:1px solid #3c4737;margin-bottom:25px}.agency-brand strong{font-size:14px;display:block;overflow-wrap:anywhere}.agency-brand>span{font-size:12px;color:#bacaae;display:block;margin-top:7px}.agency-brand img{max-height:45px;max-width:150px;object-fit:contain;background:white;border-radius:6px;margin-bottom:10px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav button{display:flex;align-items:center;gap:13px;width:100%;padding:12px;border:0;border-radius:9px;background:transparent;color:#b7c5ae;text-align:left;font-size:17px}.sidebar nav button span{font-size:14px}.sidebar nav button.active{background:var(--lime);color:#192713}.sidebar nav b{font-size:11px;margin-left:auto}.sidebar-bottom{margin-top:auto;display:grid;gap:12px;padding:30px 12px 0;font-size:12px;color:#c0cdb8}.sidebar-bottom>span{font-size:10px;color:#7e8f74;letter-spacing:.15em;margin-top:15px}.admin-body{min-width:0}.admin-topbar{background:#fff;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.eyebrow{font-size:11px;letter-spacing:.13em;color:#63735b;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:18px;font-size:12px}.topbar-actions>span{overflow-wrap:anywhere;max-width:260px}main{padding:22px 36px 64px;max-width:1600px;margin:auto}.status{font-size:14px;min-height:24px;color:#536846;margin:0 0 22px;overflow-wrap:anywhere}.status.error{color:#9e2929;background:#fff0ee;border-radius:8px;padding:14px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:10px 0 25px}.muted{color:var(--muted);font-size:14px;margin-bottom:0}.inline-fields{display:flex;align-items:end;gap:10px}.inline-fields label{margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px;margin-bottom:24px;min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.tag{display:inline-block;background:#f0f5e8;color:#5c7443;border-radius:30px;padding:5px 12px;font-size:12px;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.metric-card>span{font-size:13px;color:var(--muted)}.metric-card strong{display:block;font-size:clamp(23px,2.6vw,35px);letter-spacing:-.05em;margin:12px 0}.metric-card small{font-size:12px;color:#76816e}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.pending-panel{background:#f0fbdc;border-color:#c8dfa8}.pending-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #d9e7c8;padding:12px 0;margin-bottom:14px;font-size:14px}.pending-row b{font-size:26px}.performance-chart{display:flex;align-items:end;gap:8px;min-height:200px;padding:20px 0;overflow-x:auto}.chart-day{min-width:32px;flex:1;text-align:center;font-size:10px;color:var(--muted)}.chart-day i{display:block;background:var(--lime);height:var(--height);min-height:2px;border-radius:5px 5px 0 0;margin-top:6px}.chart-day small{display:block;margin-top:8px;font-size:10px}.chart-day b{font-size:12px}.empty{padding:35px 10px;text-align:center;color:#73826a;font-size:14px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}th,td{padding:16px 12px;text-align:left;border-bottom:1px solid #e6ebdf}th{font-size:12px;color:var(--muted);font-weight:500}td strong{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;font-size:14px}td small{font-size:12px;color:var(--muted)}td .tag{font-size:11px}.help{color:var(--muted);font-size:12px;line-height:1.9;margin:14px 0}.connection-strip{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}label{display:block;font-size:14px;margin:12px 0 7px}input,textarea,select{display:block;width:100%;padding:11px 12px;border:1px solid #cdd6c5;border-radius:7px;background:white;color:var(--ink);font-size:14px;min-height:44px}textarea{resize:vertical}form{margin-bottom:20px}form>button{margin-top:15px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:7px;padding:11px 17px;border:1px solid var(--line);font-size:14px;line-height:1.5;min-height:43px}.primary{background:var(--ink);border-color:var(--ink);color:white}.secondary{background:white;color:var(--ink)}.primary:hover:not(:disabled){background:#304827}.secondary:hover:not(:disabled){background:#f1f6e9}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.company-tile{padding:20px;border:1px solid var(--line);border-radius:9px}.company-tile h3{margin:12px 0 8px;overflow-wrap:anywhere}.company-tile p{font-size:13px;color:var(--muted);margin-bottom:0}.company-tile img{width:70px;height:35px;object-fit:contain}.case-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:18px 0 28px}.case-banner a{font-size:14px}.case-banner h2{margin-top:10px}.checkbox{display:flex;align-items:flex-start;gap:10px;margin:15px 0;font-size:13px}.checkbox input{width:18px;min-height:18px;flex:none;margin-top:4px;accent-color:#6e982e}.axis-card{border:1px solid var(--line);border-radius:9px;padding:16px;margin:14px 0;background:#fafcf7}.axis-card h3{font-size:16px;margin:10px 0}.axis-card p{font-size:13px;line-height:1.8;margin:10px 0}.axis-card details{font-size:13px}.axis-card summary{font-size:13px}.axis-card ol{padding-left:20px}.creative-image{width:100%;max-height:180px;object-fit:contain;border:1px solid var(--line);border-radius:9px;margin:18px 0}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.delivery-connection{background:#f5f7f1;border-radius:10px;padding:20px;margin-top:25px}.delivery-connection p{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0}summary{cursor:pointer;font-size:16px;font-weight:600}details[open]>summary{margin-bottom:20px}.history-row{border-left:2px solid #c8deaa;padding:6px 0 16px 18px;margin:16px 0;font-size:14px}.history-row small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.history-row pre{white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere}.members-list article{display:grid;grid-template-columns:1fr auto;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.members-list strong{font-size:14px;overflow-wrap:anywhere}.members-list p{font-size:13px;color:var(--muted);margin:5px 0}.memory-callout{background:linear-gradient(120deg,#effbdc,#fff)}.memory-callout>p{line-height:1.9;max-width:800px}.memory-callout .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px}.memory-callout>a{margin-left:10px}#access-panel{max-width:650px;margin:30px auto}#registered-users article{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}#registered-users small{display:block;color:var(--muted)}#case-search{max-width:270px}
@media(max-width:1150px){.admin-layout{grid-template-columns:210px minmax(0,1fr)}main{padding:22px}.admin-topbar{padding:22px}.two-columns,.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.admin-layout{display:block}.sidebar{height:auto;position:relative;padding:20px}.admin-brand{font-size:34px}.sidebar-caption,.agency-brand,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;margin-top:18px;gap:6px;padding-bottom:3px}.sidebar nav button{width:auto;flex-shrink:0;padding:9px 12px;font-size:14px}.sidebar nav button span{font-size:12px}.sidebar nav b{display:none}.admin-topbar{padding:20px;align-items:start}.topbar-actions{flex-direction:column;align-items:end;gap:8px}.topbar-actions>span{font-size:10px;max-width:150px}main{padding:18px}.section-toolbar{flex-direction:column;align-items:stretch;gap:16px}.section-toolbar h2{font-size:20px}.panel{padding:20px}.form-grid{grid-template-columns:1fr}.company-grid{grid-template-columns:1fr}.metric-grid{gap:10px}.metric-card{padding:16px}.metric-card strong{font-size:24px}.case-banner{align-items:start;flex-direction:column}.panel-heading{flex-wrap:wrap}.memory-callout .metric-grid{grid-template-columns:1fr}.memory-callout>a{margin:12px 0 0}.members-list article{grid-template-columns:1fr}.inline-fields{align-items:end}.inline-fields input{min-width:160px}.approval-columns{gap:0}.connection-strip{gap:8px}.checkbox{font-size:13px}h1{font-size:21px}#case-search{max-width:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#profit-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){#profit-metrics{grid-template-columns:1fr}}
.login-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:#edf2e8}.login-card{width:100%;max-width:530px;background:white;border:1px solid var(--line);border-radius:20px;padding:42px;margin:0;box-shadow:0 20px 70px #17231b0c}.login-card h1{font-size:28px;margin:25px 0 18px}.login-card .eyebrow{margin-top:14px}.login-card .primary{width:100%;margin:14px 0;font-size:16px;padding:15px}.login-card [role=status]{font-size:14px;overflow-wrap:anywhere;color:var(--muted)}.login-guidance{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.login-guidance p{font-size:14px;color:var(--muted)}.account-created{padding:20px;background:#effbdc;border-radius:10px}.account-created p{overflow-wrap:anywhere;font-size:14px}@media(max-width:600px){.login-body{padding:18px}.login-card{padding:28px}.login-card h1{font-size:24px}}

.ads-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}[data-view="ads"] .company-tile{overflow-wrap:anywhere}[data-view="ads"] input[type="password"]{font-family:monospace}

.ads-client-setup{padding:22px;margin:18px 0 28px;border:1px solid #d4e8ad;border-radius:14px;background:#f5fbe9}.ads-client-setup h3{margin-top:0}

.approval-next{background:#f1fadf;border-color:#c5dda7}.approval-next h2{margin:18px 0 8px}.approval-next>p{font-size:14px;line-height:1.8}.approval-steps{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;font-size:13px}.approval-steps li{padding:7px 12px;background:white;border:1px solid var(--line);border-radius:20px}.approval-steps .complete{background:#d3f59f}.approval-steps .complete::after{content:' ✓'}.step-guide{padding:14px;background:#f3f7ed;border-radius:8px;font-size:13px;line-height:1.8}.ad-copy-preview{border:1px solid var(--line);padding:20px;border-radius:12px;margin:24px 0;background:#fafcf7}.ad-copy-preview p{white-space:pre-wrap;overflow-wrap:anywhere}.axis-card fieldset{border:1px solid var(--line);border-radius:8px;padding:12px;margin:18px 0}.axis-card legend{font-weight:600}.axis-card details details{margin:14px 0}.axis-card label{font-size:13px}.delivery-connection ol{padding-left:22px;font-size:13px;line-height:1.9}.delivery-connection li{margin-bottom:12px}.delivery-connection>a{margin-top:14px}#handoff-text{margin:15px 0}#approval-next-button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #91bc4e;outline-offset:3px}

.image-workbench,.prep-intro,.prep-review { margin:1.5rem 0; padding:1rem; border:1px solid var(--line,#d9e2d3); border-radius:16px; }
.image-candidates {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;}
.image-option {display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;}
.image-option>img {width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;background:#f2f4ee;}
.image-option>img.thumbnail {width:64px;height:64px;}
.image-option span {overflow-wrap:anywhere;font-size:14px;}
.image-option button {font-size:14px;padding:10px;}
#group-settings summary {font-size:18px;font-weight:700;cursor:pointer;margin-bottom:20px;}
#prep-diff p {overflow-wrap:anywhere;font-size:14px;white-space:pre-wrap;}
#ads-report-table td {max-width:300px;overflow-wrap:anywhere;min-width:90px;}
@media(max-width:700px){.image-candidates{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Agency tutorial: existing workspace palette, clear responsibilities and compact steps. */
.tutorial-page{max-width:1500px}.tutorial-journey{padding:22px 26px;border-left:4px solid var(--accent,#c8f76b);background:#16281d;color:#f5f8f1;border-radius:14px;margin-bottom:24px}.tutorial-journey p{margin:10px 0}.tutorial-journey .help{color:#c9d4c1}.tutorial-tabs{display:flex;gap:8px;border-bottom:1px solid #d7dfd1;margin-bottom:24px;flex-wrap:wrap}.tutorial-tabs button{border:0;border-radius:10px 10px 0 0;padding:14px 20px;background:transparent;color:#45523f}.tutorial-tabs button[aria-selected="true"]{background:#c8f76b;color:#14251a;font-weight:700}.tutorial-flow{min-width:1000px}.tutorial-flow th,.tutorial-flow td{vertical-align:top;line-height:1.8;white-space:normal}.tutorial-flow th:first-child{min-width:180px}.tutorial-flow td{min-width:200px}.tutorial-flow td:last-child{min-width:130px}.tutorial-number{display:block;color:#526a35;font-weight:800;margin-bottom:4px}.tutorial-how{max-width:960px}.tutorial-how select{max-width:720px;margin-bottom:26px}.tutorial-how h3{font-size:1.4rem;margin:18px 0}.tutorial-how li{padding-left:6px;margin:14px 0;line-height:1.9}.tutorial-handover{padding:20px;background:#f3f6ef;border-radius:12px;margin:24px 0}.tutorial-handover p{margin:8px 0 18px}.tutorial-note{border-left:3px solid #788b62;padding:12px 18px;line-height:1.8}.tutorial-step-controls{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.tutorial-faq dt{font-weight:700;margin-top:22px}.tutorial-faq dd{margin:8px 0 0;line-height:1.8}.tutorial-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.tutorial-template{padding:20px;border:1px solid #d7dfd1;border-radius:14px;min-width:0}.tutorial-template h3{margin-top:0}.tutorial-template textarea{display:block;width:100%;margin:12px 0;min-height:270px;font-size:1rem;line-height:1.8;resize:vertical}.tutorial-tabs button:focus-visible,.tutorial-page button:focus-visible{outline:3px solid #567c29;outline-offset:3px}.tutorial-wait p{line-height:1.9}@media(max-width:900px){.tutorial-template-grid{grid-template-columns:1fr}.tutorial-tabs button{padding:12px;font-size:1rem}.tutorial-journey{padding:20px}.tutorial-step-controls{flex-wrap:wrap}}

.image-generation{padding:20px;border:1px solid #cad8ba;border-radius:16px;background:#f8fbf4;margin:20px 0}.image-generation .image-candidates{margin-top:20px}.image-generation details{padding:16px;background:white;border-radius:12px;margin-bottom:16px}#lp-install-settings{margin:24px 0;padding:20px;border:1px solid #dce4d4;border-radius:16px}#lp-install-settings summary{font-weight:700;cursor:pointer}.lp-download-panel{padding:24px;background:#f1f7e7;border-radius:16px;margin:24px 0}.lp-download-panel button{width:100%;white-space:normal}.image-option a{overflow-wrap:anywhere}
.lp-tags-panel{border-top:1px solid #dce4d5;margin-top:28px;padding-top:26px}.placement-card{background:#f5f8ef;border:1px solid #d8e2ce;border-radius:14px;padding:20px;margin:20px 0;overflow-wrap:anywhere}.tag-block{margin:20px 0}.tag-block textarea{font:12px/1.7 ui-monospace,monospace;white-space:pre-wrap;min-height:100px}.tag-block h4{margin-bottom:10px}.placement-card .secondary{display:inline-block;margin:8px 0}#poc-entries .panel{overflow-wrap:anywhere}#poc-entries select{margin-bottom:12px}

/* Monthly invoicing uses the existing workspace controls. */
.billing-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.billing-actions a{display:inline-block;text-decoration:none}.billing-actions a[aria-disabled=true]{opacity:.5;cursor:not-allowed}.billing-line{background:#f6f8f1;border:1px solid #dce3d7;border-radius:14px;padding:20px;margin:16px 0}.billing-line>strong{font-size:18px}.billing-total{padding:18px;background:#eff7df;font-size:18px;font-weight:700;line-height:1.8}#bill-fields{border:0;padding:0;margin:0;min-width:0}#bill-fields:disabled input,#bill-fields:disabled textarea{color:#374332;opacity:1}#bill-issue-controls,#bill-paid-controls{margin-top:28px;padding-top:20px;border-top:1px solid #dce3d7}#bill-paid-controls{max-width:380px}#bill-message{line-height:1.8}#bill-editor-panel{scroll-margin-top:20px}#bill-list td small{overflow-wrap:anywhere}#billing-root [hidden]{display:none!important}@media(max-width:650px){.billing-line{padding:14px}.billing-actions>*{max-width:100%}.billing-total{font-size:16px}}
