/* Shared controls and brand containers. PROJECT tokens, not Apple platform geometry. */
@font-face{font-family:Ubuntu;src:url('brand/Ubuntu-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Ubuntu Condensed';src:url('brand/UbuntuCondensed-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--control-height:48px;--control-radius:999px;--control-width-step:32px;--control-bg:#eeecea;--control-hover:#e5e1df;--shape:url('brand/mega-shape.svg');--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23424050' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
:root[data-theme=dark]{--control-bg:#243044;--control-hover:#2d3b50;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23b0b6c3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.product,.sidebar .product{display:inline-flex;align-items:baseline;gap:8px;font-size:30px;line-height:1;letter-spacing:0;white-space:nowrap;margin-bottom:28px}
.product-mega{font-family:Ubuntu,system-ui,sans-serif;font-weight:700;letter-spacing:-.4px}
.product-doks{font-family:'Ubuntu Condensed',Ubuntu,sans-serif;font-weight:400;letter-spacing:.2px}
.sidebar{width:272px;padding:36px 24px 24px;border-right:0;overflow-y:auto}
.sidebar nav{flex-shrink:0}
.sidebar-dev-space{flex:1;display:flex;align-items:center;min-height:240px;padding:24px 0}
.sidebar .dev-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;border:0;border-radius:16px;background:var(--surface-soft);padding:20px 16px;font-size:11px}
.sidebar .dev-toolbar>span{color:var(--muted);font-size:11px}
.sidebar .dev-toolbar form{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}
.sidebar .dev-toolbar select{width:192px;max-width:100%;font-size:11px}
.sidebar .dev-toolbar .small-button{width:192px;max-width:100%}
.sidebar .sidebar-bottom{margin-top:0;padding-top:12px;flex-shrink:0;gap:20px}
.topbar{border-bottom:0}
.topbar .theme-label select{width:192px;max-width:none;background-color:var(--control-bg);font-size:12px}
.panel,.stat,.hint-card,.file-icon,.count,.badge,.version-links a,.pause-options,.custom-field,.deadline-card,.upload-zone,.small-button,.button{border:0;box-shadow:none}
.stat:hover{background:var(--surface-soft)}
.stat-icon,.avatar,.file-icon,.empty-icon,.step-number{-webkit-mask-image:var(--shape);mask-image:var(--shape);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;border-radius:0;border:0;aspect-ratio:1}
.avatar{width:48px;height:48px;font-size:16px}
.stat-icon{width:48px;height:48px;top:20px;right:20px}
.stat-icon svg{width:22px;height:22px}
.stat-icon.neutral{background:var(--control-bg)}
.file-icon{width:48px;height:48px;background:var(--control-bg)}
.empty-icon{width:64px;height:64px}
.step-number{width:48px;height:48px}
.approval-route li:not(:last-child):before{left:24px;top:50px}
.approval-route li>div{padding-top:4px}
.button,.small-button,.text-button,.pause-options summary,.version-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-height);min-height:var(--control-height);border:0;border-radius:var(--control-radius);padding:0 24px;line-height:1.3;font-size:13px;font-weight:400;text-decoration:none;flex-shrink:0;max-width:100%;width:128px;background:var(--control-bg);color:var(--text)}
.button.primary{background:var(--coral);color:var(--night);width:256px}
.button.primary:hover{background:var(--peach)}
.button.secondary{width:192px}
.button.secondary:hover,.small-button:hover,.text-button:hover,.version-links a:hover{background:var(--control-hover);text-decoration:none}
.text-button.danger{color:var(--danger)}
.text-button{width:96px}
.small-button{width:128px;font-size:12px}
.page-heading>.button.primary{width:224px}
.form-actions .button.secondary{width:224px}
.form-actions .button.primary{width:288px}
.form-actions>a.button{width:128px}
.inline-heading .small-button{width:160px}
.route-controls .small-button{width:48px;height:48px;min-width:48px;min-height:48px;padding:0}
.route-item .route-controls{gap:4px}
.route-preview .route-item{align-items:center}
input:not([type=checkbox]),select,textarea{border:0;background-color:var(--control-bg);font-size:13px;color:var(--text)}
input:not([type=checkbox]),select{height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);padding:0 20px;line-height:normal}
select,.filters select,.topbar .theme-label select,.sidebar .dev-toolbar select{appearance:none;-webkit-appearance:none;background-image:var(--select-arrow);background-position:right 18px center;background-size:16px 16px;background-repeat:no-repeat;padding:0 48px 0 20px;height:var(--control-height);min-height:var(--control-height)}
select option{background:var(--surface);color:var(--text)}
textarea{border-radius:16px;min-height:96px;padding:16px 20px}
input[type=file]{height:auto;min-height:var(--control-height);padding:8px 12px;border-radius:16px}
input::file-selector-button{height:32px;min-width:128px;border:0;border-radius:var(--control-radius);background:var(--surface);padding:0 16px;font:inherit}
.filters{gap:12px}
.filters .search-field{flex:1 1 192px;min-width:192px}
.filters label:not(.search-field){flex:0 0 192px;width:192px}
.filters select,.filters input{font-size:12px;height:var(--control-height);min-height:var(--control-height)}
.filters .button{height:var(--control-height);min-height:var(--control-height);width:96px;padding:0 16px;font-size:12px}
.filters .text-link{min-height:var(--control-height);display:inline-flex;align-items:center}
.action-panel .button,.action-panel .text-button,.login-submit.button,.login-card input,.login-card select,.login-card>label select{height:var(--control-height);min-height:var(--control-height)}
.action-panel .button,.action-panel .text-button{width:256px;max-width:100%;font-size:12px}
.pause-options{padding:0;background:transparent}
.pause-options summary{width:256px;max-width:100%;font-size:12px}
.pause-options label{padding-top:6px}
.login-submit.button{width:100%;justify-content:center}
.login-card{max-width:384px}
.login-card>.product{margin-bottom:48px}
.login-card>label select{padding-right:48px}
.version-links a{width:128px;font-size:12px}
.version-links .selected{background:var(--accent-soft)}
.profile-panel .button{width:192px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:1200px){.sidebar{width:240px;padding:30px 16px 20px}.filters .search-field{flex-basis:100%}.filters label:not(.search-field){flex:0 0 192px;width:192px}.sidebar .product{font-size:28px;gap:7px}.topbar-controls{gap:12px}.topbar .theme-label select{width:192px}.sidebar .dev-toolbar{padding:18px 8px}}
@media(max-width:980px){.sidebar{width:208px;padding:28px 16px 20px}.sidebar .dev-toolbar select,.sidebar .dev-toolbar .small-button{width:160px}.sidebar .product{font-size:25px;gap:6px}.sidebar .dev-toolbar select{font-size:10px;padding-left:14px;padding-right:38px;background-position:right 14px center}.sidebar .dev-toolbar .small-button{font-size:11px;padding:0 12px}.filters label:not(.search-field){flex:0 0 128px;width:128px}.filters select{font-size:11px;padding-left:16px;padding-right:40px;background-position:right 14px center}.page-heading>.button.primary{width:224px}}
@media(max-width:680px){.sidebar{overflow:visible;padding:20px 18px 12px;display:flex;flex-direction:column;gap:0;height:auto;width:100%;position:static}.sidebar .product{font-size:28px;gap:7px;margin-bottom:18px;align-self:flex-start}.sidebar nav{width:100%;order:1;padding-bottom:0}.sidebar-dev-space{order:2;min-height:0;display:block;padding:16px 0 0;width:100%}.sidebar .dev-toolbar{padding:14px 16px;border-radius:16px;gap:10px}.sidebar .dev-toolbar>span{font-size:10px;width:auto}.sidebar .dev-toolbar form{flex-direction:row;gap:8px}.sidebar .dev-toolbar select{flex:1;min-width:0;width:0;font-size:11px}.sidebar .dev-toolbar .small-button{flex:0 0 128px;width:128px;font-size:11px}.sidebar .sidebar-bottom{display:flex;flex-direction:row;justify-content:flex-end;order:3;width:100%;padding:12px 0 0;gap:0}.sidebar-bottom>img{display:none!important}.sidebar-bottom .local-label{font-size:10px}.sidebar nav>a{min-height:48px}.topbar{padding:12px 18px;min-height:72px}.topbar-controls{gap:10px}.topbar .theme-label select{width:160px;font-size:11px;padding-left:16px;padding-right:40px;background-position:right 14px center}.topbar .text-button{width:64px;padding:0 8px;font-size:11px}.topbar-controls .user-chip{order:3;width:100%;font-size:12px}.topbar-controls .user-chip>span:last-child{max-width:none}.topbar .avatar{width:40px;height:40px}.filters{gap:12px}.filters .search-field{min-width:0;flex:0 0 100%}.filters label:not(.search-field){flex:1 1 calc(50% - 6px);width:calc(50% - 6px);min-width:0}.filters label:last-of-type{flex:1 1 calc(50% - 6px)}.filters .button{flex:1 1 calc(50% - 6px);width:calc(50% - 6px)}.filters select{font-size:12px;padding-left:18px;padding-right:44px;background-position:right 16px center}.stat{padding:20px 16px;min-height:140px}.stat-icon{width:40px;height:40px;right:14px;top:16px}.stat-icon svg{width:19px;height:19px}.stat-value{font-size:32px;margin-top:4px}.stat .muted{font-size:11px;line-height:1.5;margin-top:4px}.page-heading>.button.primary{width:100%}.file-icon{width:44px;height:44px}.form-actions .button,.form-actions .button.primary,.form-actions .button.secondary,.form-actions>a.button{width:100%;height:var(--control-height);min-height:var(--control-height);font-size:12px}.inline-heading .small-button{width:160px;font-size:11px}.route-controls .small-button{width:48px;min-width:48px}.route-preview .route-item{gap:8px}.route-item .route-controls{gap:4px}.custom-field .text-button{width:160px}.login-card>.product{display:inline-flex}.login-card>label select{width:192px;font-size:11px}.login-card input{height:var(--control-height);min-height:var(--control-height)}}
@media print{.sidebar,.topbar,.sidebar-dev-space{display:none!important}.panel,.hint-card,.deadline-card{background:white;color:black}.content{padding:0}}

@media(max-width:680px){.filters label:not(.search-field),.filters label:last-of-type,.filters .button{flex:0 0 100%;width:100%}}

/* Progressive document creation */
[hidden]{display:none!important}
.wizard-file{margin-bottom:24px}.upload-zone.drag-over{background:var(--accent-soft);outline:3px solid var(--focus);outline-offset:3px}.upload-zone:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.catalog-refresh{margin-top:16px;width:256px;max-width:100%}#catalog-fields{display:grid;gap:16px;margin-top:16px}.catalog-remove{width:160px;max-width:100%;margin-top:8px}.route-controls{display:flex;gap:8px;margin-top:12px}.route-controls .small-button{width:48px;min-width:48px;padding:0}.wizard-details .inline-controls select{min-width:0;flex:1}.wizard-details .inline-controls{display:flex;flex-wrap:wrap;gap:12px}#route-builder>label{display:block;margin-top:20px;margin-bottom:8px}.wizard-file hr{margin:24px 0}
