/* SyriaPrint: أصول محلية، تخطيط مرن يبدأ من الهاتف، دون خطوط أو مكتبات واجهة خارجية. */
:root {
  color-scheme: light;
  --bg:#f6f5f0; --paper:#fff; --ink:#193b33; --muted:#62736c;
  --green:#17634e; --deep:#123e35; --line:#dce4dd; --soft:#eaf3ed;
  --danger:#ad3030; --amber:#fff5de; --radius:20px;
  font-family:Tahoma,Arial,sans-serif; font-size:16px; line-height:1.75;
  color:var(--ink); background:var(--bg);
}
* { box-sizing:border-box; }
body { margin:0; min-width:0; }
[hidden] { display:none!important; }
a { color:var(--green); text-decoration:none; text-underline-offset:5px; }
a:hover { text-decoration:underline; }
button,input,select,textarea { font:inherit; }
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:48px; padding:.75rem 1.2rem; border-radius:12px; border:1px solid transparent; background:var(--green); color:#fff; cursor:pointer; font-weight:700; text-align:center; text-decoration:none; touch-action:manipulation; }
button:hover,.button:hover { background:var(--deep); text-decoration:none; }
button:disabled { opacity:.55; cursor:wait; }
button[aria-busy=true]::after { content:'…'; }
.secondary { background:var(--paper); color:var(--ink); border-color:var(--line); }
.secondary:hover { background:var(--soft); }
.link { color:var(--green); background:transparent; padding:.5rem; font-size:.875rem; }
.link:hover { color:var(--deep); background:var(--soft); }
.full { width:100%; }
.danger { color:var(--danger); background:#fceeee; }
input,textarea,select { display:block; width:100%; min-width:0; min-height:48px; padding:.75rem .85rem; border:1px solid #b9c9bf; border-radius:10px; background:#fff; color:var(--ink); margin:.35rem 0 1rem; font-size:16px; }
input::placeholder,textarea::placeholder { color:#738179; opacity:1; }
input[type=checkbox],input[type=radio] { display:inline-block; width:21px; height:21px; min-height:0; margin:0; flex-shrink:0; accent-color:var(--green); }
input:focus,select:focus,textarea:focus { border-color:var(--green); }
:focus-visible { outline:3px solid #659c85; outline-offset:3px; }
textarea { resize:vertical; }
label { display:block; font-size:.93rem; font-weight:600; }
fieldset { border:0; padding:0; margin:0 0 1.4rem; min-width:0; }
legend { font-weight:700; margin-bottom:.7rem; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(1.8rem,4.5vw,3rem); line-height:1.45; letter-spacing:-.8px; margin-bottom:.75rem; }
h2 { font-size:1.2rem; line-height:1.6; margin-bottom:.8rem; }
h3 { font-size:1rem; margin:1.25rem 0 .7rem; }
small,.muted { color:var(--muted); font-weight:400; }
small { font-size:.82rem; }
p { margin-bottom:1rem; }
.accent { color:var(--green); }
.lead { font-size:1.08rem; line-height:1.95; color:var(--muted); max-width:560px; }
.eyebrow { color:var(--green); font-size:.8rem; font-weight:700; letter-spacing:.3px; margin-bottom:.75rem; display:flex; align-items:center; gap:.5rem; }
.live-dot { display:inline-block; width:8px; height:8px; background:var(--green); border-radius:50%; box-shadow:0 0 0 5px #17634e10; }
.topbar { max-width:1240px; margin:auto; min-height:90px; padding:1.1rem 1.5rem; display:flex; gap:1.3rem; align-items:center; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:.65rem; color:var(--deep); font-size:1.65rem; font-weight:800; line-height:1.1; }
.brand:hover { text-decoration:none; }
.brand img { flex-shrink:0; }
.brand-caption { display:block; font-size:.6rem; color:var(--muted); font-weight:400; margin-top:7px; }
.library-name { flex:1; color:var(--muted); font-size:.85rem; padding-inline-start:1rem; border-inline-start:1px solid var(--line); overflow-wrap:anywhere; }
.topbar nav { display:flex; gap:.5rem; align-items:center; font-size:.85rem; }
.topbar nav a { padding:.6rem .65rem; border-radius:10px; min-height:44px; }
.topbar nav a[aria-current=page] { background:var(--soft); font-weight:700; }
main { max-width:1160px; margin:2.3rem auto; padding:0 1.3rem; min-height:65vh; }
main:focus { outline:0; }
footer { max-width:1160px; margin:3rem auto 0; border-top:1px solid var(--line); padding:1.8rem 1.3rem max(1.8rem,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:1rem; color:var(--muted); font-size:.8rem; }
footer small { margin-inline-start:auto; }
.footer-brand { color:var(--deep); font-weight:700; font-size:1.05rem; }
.skip-link { position:fixed; top:-100px; right:1rem; padding:.75rem; background:#fff; z-index:100; }
.skip-link:focus { top:1rem; }
.narrow { max-width:480px; margin:2rem auto; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; margin-bottom:1rem; box-shadow:0 5px 22px #173a2b04; min-width:0; }
.heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.heading>* { min-width:0; }
.page-heading { margin-bottom:1.5rem; }
.inline { display:flex; align-items:center; gap:.6rem; font-size:.85rem; font-weight:400; }
.error { color:var(--danger); white-space:pre-line; font-size:.9rem; margin:1rem 0 0; }
.error:empty,.form-message:empty { display:none; }
.notice { background:var(--amber); border:1px solid #ecddb9; padding:.9rem 1rem; border-radius:12px; font-size:.88rem; }
.connection-status { background:#fff0dc; color:#694613; text-align:center; padding:.7rem 1rem; font-size:.85rem; }
.privacy-note { color:var(--muted); font-size:.8rem; padding-top:.85rem; margin:0; }
.form-message { font-size:.87rem; margin-top:1rem; color:var(--green); white-space:pre-line; }
.welcome-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:6rem; align-items:center; padding:2rem 0 3rem; }
.welcome-copy h1 { font-size:clamp(2.5rem,5vw,4rem); line-height:1.5; }
.auth-card { margin:0; padding:2rem; border-top:4px solid var(--green); }
.auth-card h2 { font-size:1.45rem; }
.card-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:var(--soft); font-size:1.5rem; margin-bottom:1.2rem; }
.auth-card .full { margin-top:.5rem; }
.otp-input { font-size:1.6rem; letter-spacing:.5rem; text-align:center; }
.journey { list-style:none; padding:0; margin:2rem 0 0; display:grid; gap:1.15rem; }
.journey li { display:flex; gap:1rem; align-items:center; }
.journey li>span { font-size:.75rem; border:1px solid var(--line); width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:var(--green); }
.journey small { display:block; }
.home-hero { text-align:center; max-width:880px; margin:4rem auto; }
.home-hero .eyebrow,.home-hero .actions { justify-content:center; }
.home-hero h1 { font-size:clamp(2.7rem,7vw,5rem); }
.home-hero .lead { margin:1.5rem auto; }
.home-features { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:4rem; text-align:start; }
.home-features>div { border-top:1px solid var(--line); padding:1.3rem; }
.home-features span { color:var(--green); font-size:.8rem; display:block; margin-bottom:.75rem; }
.home-features strong { display:block; }.home-features p { color:var(--muted); font-size:.85rem; }
.customer-shortcuts { display:flex; gap:.5rem; margin-bottom:1.5rem; }
.customer-shortcuts a { background:#eaf0e8; border-radius:100px; padding:.55rem 1rem; font-size:.85rem; min-height:44px; }
.customer-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:2rem; align-items:start; }
#order-workspace,#order-history,#hours-card { scroll-margin-top:1.2rem; }
.steps { display:flex; list-style:none; padding:0 0 1.3rem; margin:0 0 1.5rem; border-bottom:1px solid var(--line); gap:.5rem; }
.steps li { flex:1; color:var(--muted); font-size:.85rem; display:flex; gap:.5rem; align-items:center; }
.steps li>span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--bg); }
.steps .current { color:var(--green); font-weight:700; }.steps .current>span { background:var(--green); color:#fff; }
.upload-zone { border:1.5px dashed #9eb7a8; background:#f8faf6; border-radius:16px; min-height:200px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:1.2rem; gap:.7rem; cursor:pointer; }
.upload-zone:hover { border-color:var(--green); background:var(--soft); }
.upload-zone input { margin:0; border:0; background:transparent; max-width:100%; padding:.4rem; font-size:.8rem; }
.upload-zone>span:not(.upload-symbol) { font-size:.8rem; color:var(--muted); }
.upload-symbol { width:52px; height:52px; border-radius:16px; background:var(--soft); color:var(--green); display:grid; place-items:center; font-size:1.7rem; }
#chosen-file { margin:1rem 0; font-size:.85rem; }
progress { width:100%; accent-color:var(--green); height:10px; }
.choices { display:flex; gap:.7rem; }.choices label { flex:1; cursor:pointer; position:relative; min-width:0; }
.choices input { position:absolute; opacity:0; inset:12px auto auto 12px; }
.choices span { display:block; padding:1rem .6rem; text-align:center; border:1px solid var(--line); border-radius:12px; }
.choices small { display:block; margin-top:.2rem; font-size:.7rem; }
.choices input:checked+span { background:var(--soft); border-color:var(--green); box-shadow:inset 0 0 0 1px var(--green); color:var(--green); }
.choices input:focus-visible+span { outline:3px solid #659c85; outline-offset:3px; }
.counter { display:flex; align-items:center; gap:.6rem; margin:.4rem 0 1.2rem; }.counter input { width:85px; margin:0; text-align:center; }
.actions { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1rem; }.wizard-actions>button:first-child { flex:1; }
.file-chip { background:var(--bg); padding:.75rem 1rem; border-radius:10px; font-size:.85rem; overflow-wrap:anywhere; }
.summary-line { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.85rem; }
.summary-line time { color:var(--muted); font-size:.73rem; }
.price-summary { display:flex; flex-direction:column; padding:1.25rem; background:var(--soft); border-radius:14px; margin:1.2rem 0; font-size:.85rem; }
.total { font-size:1.8rem; color:var(--green); font-weight:800; padding:.6rem 0; }
.filename { overflow-wrap:anywhere; font-weight:600; }.badge { display:inline-block; padding:.25rem .7rem; background:var(--soft); color:#196044; font-size:.73rem; border-radius:100px; font-weight:700; white-space:nowrap; }
.badge.new { background:#edf0ff; color:#414f91; }.badge.printing { background:var(--amber); color:#775316; }.badge.delivered { background:#eef0ee; color:#526159; }
.history-card { padding:1.1rem; }.history-card .filename { margin:.8rem 0 .3rem; font-size:.9rem; }.history-card .summary-line { border:0; padding-bottom:0; }
.order-number { font-size:1.05rem; font-variant-numeric:tabular-nums; }.ready-hint { background:var(--soft); color:var(--green); padding:.7rem; border-radius:8px; font-size:.8rem; margin:1rem 0 0; }
.empty { grid-column:1/-1; padding:2.5rem 1rem; border:1px dashed #bdcabe; border-radius:16px; color:var(--muted); text-align:center; }
.empty>span { display:block; font-size:2rem; margin-bottom:.5rem; }.empty strong { display:block; color:var(--ink); }.empty p { font-size:.85rem; margin:.5rem 0 0; }
.success-panel { text-align:center; padding:1.5rem 0; }.success-panel .button { margin-top:.8rem; }.success-mark { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 1.2rem; font-size:2rem; background:var(--soft); color:var(--green); border-radius:50%; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }.stat { min-width:0; padding:1.15rem; background:var(--paper); border:1px solid var(--line); border-radius:15px; }
.stat strong { display:block; font-size:clamp(1.15rem,2.5vw,1.6rem); overflow-wrap:anywhere; }.stat span { color:var(--muted); font-size:.8rem; }.stat small { font-size:.7rem; }
.toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin:1.2rem 0; font-size:.85rem; }.toolbar p { margin:0; }.toolbar label { display:flex; align-items:center; gap:.7rem; }.toolbar select { width:auto; margin:0; }
.tabs { display:flex; gap:.4rem; overflow-x:auto; padding:.6rem 0 1rem; overscroll-behavior-inline:contain; scrollbar-width:thin; }.tabs button { white-space:nowrap; background:transparent; color:var(--muted); font-size:.82rem; border:1px solid var(--line); }.tabs button.active { color:#fff; background:var(--green); border-color:var(--green); }
.search-form { display:flex; flex:1; gap:.5rem; max-width:550px; }.search-form input { margin:0; }.search-form label { flex:1; }
.order-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:1rem; }.order-grid .card { margin:0; }.order-card h2 { margin:1rem 0 .35rem; }.order-card .meta { color:var(--muted); font-size:.85rem; }.order-price { font-size:1.2rem; }
.checkbox-label { display:flex; align-items:center; gap:.55rem; }.detail-note { background:var(--bg); border-radius:10px; padding:.8rem; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.88rem; }
dialog { width:min(640px,calc(100% - 28px)); max-height:90dvh; margin:auto; border:1px solid var(--line); border-radius:22px; color:var(--ink); padding:1.6rem; overscroll-behavior:contain; }
dialog::backdrop { background:#102d26a6; }dialog .heading { align-items:flex-start; margin-bottom:1rem; }dialog .heading h2 { margin:0; }
.confirm-dialog { max-width:430px; }.detail-qr { width:100px; height:100px; flex-shrink:0; }.detail-actions { position:sticky; bottom:-1.6rem; background:#fff; border-top:1px solid var(--line); padding:1rem 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }.settings-layout { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; }.settings-layout>.card { margin:0; }
.save-bar { grid-column:1/-1; position:sticky; bottom:0; background:var(--bg); border-top:1px solid var(--line); padding:1rem 0 max(1rem,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:1rem; z-index:2; }.save-bar span { font-size:.85rem; }
details summary { cursor:pointer; font-weight:700; min-height:44px; padding:.5rem 0; }details[open] summary { margin-bottom:.7rem; }
.hour-row { display:grid; grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) 65px; gap:.4rem; align-items:center; font-size:.8rem; margin-bottom:.6rem; }.hour-row input { padding:.35rem; margin:0; }.hour-row label { margin:0; }
.paper-row { display:grid; grid-template-columns:70px minmax(0,1fr) 95px; gap:.5rem; align-items:center; margin-bottom:.6rem; }.paper-row input { margin:0; }
.toast { position:fixed; bottom:max(1.2rem,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); padding:.95rem 1.3rem; background:var(--deep); color:#fff; max-width:calc(100% - 28px); width:max-content; border-radius:13px; box-shadow:0 8px 28px #0002; z-index:20; font-size:.85rem; white-space:pre-line; }
video { width:100%; border-radius:16px; background:var(--deep); }.qr-container { text-align:center; }.qr-container img,.qr-container svg { width:280px; max-width:100%; height:auto; }
.message-row { padding:.8rem 0; border-bottom:1px solid var(--line); font-size:.85rem; overflow-wrap:anywhere; }.admin-metrics { display:flex; gap:.6rem; flex-wrap:wrap; font-size:.8rem; padding:.8rem 0; }.session-state { font-size:.85rem; margin:.7rem 0; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:850px) {
  .welcome-layout { gap:2rem; }.welcome-copy h1 { font-size:2.7rem; }
  .customer-layout { gap:1rem; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
  .settings-layout { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .topbar { min-height:76px; padding:1rem; gap:.8rem; flex-wrap:wrap; }.brand { font-size:1.4rem; }.brand-caption { font-size:.55rem; }
  .library-name { font-size:.75rem; padding-inline-start:.75rem; }.topbar nav { width:100%; border-top:1px solid var(--line); padding-top:.55rem; justify-content:space-between; }
  .topbar nav a,.topbar nav button { flex:1; text-align:center; }
  main { margin:1.5rem auto; padding:0 .95rem; }.card { padding:1.2rem; border-radius:17px; }
  .welcome-layout { display:flex; flex-direction:column; align-items:stretch; gap:1.5rem; padding:0; }.welcome-copy h1 { font-size:2.6rem; margin-bottom:.5rem; }.welcome-copy .lead { font-size:.93rem; }
  .journey { display:none; }.auth-card { padding:1.5rem; }.card-icon { display:none; }.auth-card h2 { font-size:1.2rem; }
  .customer-layout { grid-template-columns:1fr; gap:1.3rem; }.customer-shortcuts { justify-content:space-between; gap:.3rem; }.customer-shortcuts a { flex:1; text-align:center; padding:.55rem .4rem; font-size:.78rem; }
  .page-heading { align-items:flex-start; }.page-heading h1 { font-size:1.7rem; }.page-heading .link { white-space:nowrap; font-size:.73rem; }
  .stats { grid-template-columns:1fr 1fr; gap:.6rem; }.stat { padding:.9rem; }.stat strong { font-size:1.3rem; }
  .toolbar { gap:.75rem; }.toolbar .muted { font-size:.75rem; }.search-form { min-width:100%; }.search-form button { padding:.6rem .85rem; }
  .tabs { margin-inline:-.95rem; padding-inline:.95rem; }.tabs button { padding:.65rem .8rem; }
  .order-grid { grid-template-columns:1fr; }.detail-qr { width:82px; height:82px; }.order-price { font-size:1.1rem; }
  dialog { max-height:92dvh; padding:1.15rem; border-radius:18px; }.detail-actions { bottom:-1.15rem; }
  .form-grid { grid-template-columns:1fr; }.hour-row { grid-template-columns:1fr 1fr; padding:.65rem 0; border-bottom:1px solid var(--line); }.hour-row>span { grid-column:1/-1; font-weight:700; }.hour-row label { grid-column:1/-1; min-height:36px; }
  .paper-row { grid-template-columns:65px minmax(0,1fr); }.paper-row>input:last-child { grid-column:2; }
  .home-hero { margin:2rem auto; }.home-hero h1 { font-size:3rem; }.home-features { grid-template-columns:1fr; gap:0; margin-top:2.5rem; }.home-features>div { padding:1rem; }
  .home-hero .actions>* { width:100%; }.home-hero .lead { font-size:.95rem; }
  footer { flex-wrap:wrap; padding:1.4rem 1rem max(1.4rem,env(safe-area-inset-bottom)); margin-top:2rem; gap:.7rem; }footer small { width:100%; margin:0; }
  .save-bar { flex-wrap:wrap; }.save-bar button { flex:1; }.narrow { margin:1.3rem auto; }
}
@media(prefers-reduced-motion:no-preference) { button,.button { transition:background-color .15s,border-color .15s; } }
@media print { .skip-link,.connection-status,#confirm-dialog { display:none!important; } }
/* Phone and verification: one clear control, native keyboard and autofill. */
.phone-entry { display:flex; align-items:stretch; border:1px solid #b9c9bf; background:white; border-radius:12px; margin:.4rem 0 0; min-width:0; }
.phone-entry:focus-within { border-color:var(--green); box-shadow:0 0 0 3px #17634e12; }
.phone-entry input { margin:0; border:0; border-radius:0 12px 12px 0; background:transparent; box-shadow:none; }
.phone-entry input:focus-visible { outline:2px solid var(--green); outline-offset:-3px; border-radius:8px; }
.phone-entry #customer-phone { flex:1; width:0; padding-inline:1rem; font-variant-numeric:tabular-nums; }
.dial-section { display:flex; align-items:center; flex:0 0 128px; border-right:1px solid var(--line); margin:6px 0; }
.dial-section #country-code { width:70px; padding:.55rem .2rem; min-height:42px; font-size:16px; text-align:center; font-weight:700; }
#country-toggle { min-height:44px; width:54px; padding:.4rem; gap:.15rem; border-radius:8px; color:var(--green); background:transparent; }
#country-toggle svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; }
#country-toggle:hover { background:var(--soft); }
.phone-hint { display:flex; flex-wrap:wrap; gap:.3rem .6rem; font-size:.7rem; color:var(--muted); margin:.65rem 0 1rem; }
#selected-country { color:var(--ink); font-weight:700; }
.country-dialog { width:min(440px,calc(100% - 24px)); padding:1.3rem; }
.country-dialog .heading { margin-bottom:.7rem; }.country-dialog #country-search { margin-bottom:.75rem; }
.country-results { list-style:none; margin:0; padding:0; max-height:48dvh; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.country-option { width:100%; display:flex; align-items:center; justify-content:space-between; color:var(--ink); background:transparent; border-radius:10px; padding:.75rem .8rem; font-weight:400; text-align:start; }
.country-option b { color:var(--muted); font-weight:400; }.country-option:hover,.country-option[aria-current=true] { background:var(--soft); color:var(--green); }.country-option[aria-current=true] { font-weight:700; }
.otp-recipient { margin-bottom:1.3rem; }.otp-recipient>p { font-size:.85rem; color:var(--muted); margin-bottom:.2rem; }.otp-recipient>div { display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; }.otp-recipient b { font-size:1rem; font-variant-numeric:tabular-nums; letter-spacing:.5px; }
.otp-control { position:relative; margin:.6rem 0; isolation:isolate; }
.otp-cells { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.otp-cells>span { display:grid; place-items:center; height:58px; border:1px solid #bccbc2; border-radius:11px; background:#fafbf8; color:var(--deep); font:600 27px/1 ui-monospace,monospace; }
.otp-cells>span.filled { background:#fff; border-color:#8dab9a; }.otp-cells>span.active { border:2px solid var(--green); background:#fff; box-shadow:0 0 0 3px #17634e10; }
.otp-control.complete .otp-cells>span { border-color:var(--green); }.otp-control.invalid .otp-cells>span { border-color:var(--danger); background:#fff8f8; }
.otp-control #customer-code { position:absolute; inset:0; z-index:2; width:100%; height:100%; margin:0; padding:0; border:0; color:transparent; caret-color:transparent; background:transparent; -webkit-text-fill-color:transparent; opacity:.02; font-size:16px; box-shadow:none; cursor:text; }
.otp-control #customer-code:focus { outline:0; }
.otp-help { font-size:.74rem; color:var(--muted); margin:.7rem 0 1.4rem; }
.resend-row { display:flex; justify-content:center; align-items:center; gap:.25rem; flex-wrap:wrap; margin-top:.8rem; font-size:.8rem; color:var(--muted); }.resend-row .link { font-size:.8rem; }.resend-row button:disabled { cursor:default; opacity:1; color:var(--muted); }
.file-picker { position:relative; margin:1rem 0; border-radius:14px; }
.file-picker .native-file-input { position:absolute; inset:0; z-index:2; width:100%; height:100%; margin:0; padding:0; opacity:0; cursor:pointer; }
.file-picker:focus-within { outline:3px solid #659c85; outline-offset:3px; }
.file-picker .upload-zone { margin:0; }.selected-file { display:flex; gap:.8rem; align-items:center; padding:1.2rem; min-height:85px; background:#f5f8f3; border:1px solid var(--line); border-radius:14px; }
.document-icon { width:30px; height:36px; flex:0 0 30px; fill:none; stroke:var(--green); stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.selected-file #chosen-file { margin:0; min-width:0; font-size:.95rem; overflow-wrap:anywhere; font-weight:600; }.file-summary { display:flex; align-items:center; gap:.75rem; }.file-summary>span { min-width:0; overflow-wrap:anywhere; }.file-summary .document-icon { width:25px; height:30px; flex-basis:25px; }
.pickup-message { padding:1rem; background:var(--soft); border-radius:12px; color:var(--deep); line-height:1.9; }
@media(max-width:380px) { .dial-section { flex-basis:112px; }.dial-section #country-code { width:62px; }#country-toggle { width:48px; }.phone-entry #customer-phone { padding-inline:.6rem; }.otp-cells { gap:6px; }.otp-cells>span { height:49px; font-size:23px; border-radius:9px; }.otp-recipient b { font-size:.93rem; } }
@media(forced-colors:active) { .otp-cells>span.active { outline:2px solid Highlight; }.phone-entry { border:1px solid CanvasText; } }

/* SyriaPrint: restrained public pages and touch-friendly upload recovery. */
.public-nav,footer nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.public-nav a,footer nav a{min-height:44px;display:inline-flex;align-items:center}
.compact{padding:.55rem .85rem}.reading-page{max-width:780px;margin:2rem auto}.reading-page h1{font-size:clamp(1.8rem,5vw,3rem);line-height:1.35}.reading-page .card{margin-block:1.25rem}.reading-page p,.marketing-section p{line-height:1.9}.reading-page h2{margin-block:1.4rem .6rem}.reading-page h2:first-child{margin-top:0}.plain-steps{padding-inline-start:1.4rem}.plain-steps li{padding-inline-start:.4rem;margin-block:1rem;line-height:1.9}.marketing-section{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;margin-block:1.5rem}.portal-map{display:grid;gap:1rem}.portal-map>div{display:grid;gap:.4rem;border-bottom:1px solid var(--line,#dce3de);padding-block:.6rem}.portal-map code{font-size:.85rem;overflow-wrap:anywhere}.feature-list{padding-inline-start:1.3rem;line-height:2}.plan-limits{background:#f0f5f1;border-radius:12px;padding:1rem;margin-block:1.5rem}.remember-file{display:flex!important;align-items:flex-start;gap:.6rem!important;font-size:.85rem;line-height:1.7;font-weight:400!important;margin-block:1rem}.remember-file input{width:20px!important;min-height:20px!important;height:20px;margin-top:4px;flex:0 0 20px;accent-color:#123e35}.upload-explanation{font-size:.82rem;line-height:1.8}#resume-panel{margin-block:1rem}#resume-panel .actions{margin-top:.7rem}.enquiry{padding-block:1.25rem;border-bottom:1px solid #dce3de}.enquiry label{max-width:250px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}footer nav{justify-content:center;font-size:.85rem}h1,h2,p{overflow-wrap:break-word}
@media(max-width:680px){.public-nav{width:100%;justify-content:space-between;gap:.4rem;font-size:.85rem}.topbar:has(.public-nav){flex-wrap:wrap}.marketing-section{grid-template-columns:1fr;gap:1rem}.reading-page{margin-block:1rem}.home-hero h1{font-size:clamp(2rem,8vw,3.4rem)}.home-features{margin-block:1.5rem}#resume-panel .actions>*{width:100%}footer nav{gap:.8rem}}

.share-library{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block:1rem}.share-library a{overflow-wrap:anywhere}.share-library p{margin-block:.5rem}@media(max-width:680px){.share-library{align-items:stretch;flex-direction:column}}

.pairing-code{font-size:clamp(1.4rem,5vw,2rem);letter-spacing:.12em;text-align:center;font-family:monospace;overflow-wrap:anywhere}
