:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#151515;background:#f5f5f5}
.offline-error{color:#a13c35;font-size:13px;overflow-wrap:anywhere}
.pwa-update-notice{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:10px 14px;background:#fffdf8;border-top:1px solid #d9e2dc;font-size:13px}.pwa-update-notice button{padding:7px 10px}
*{box-sizing:border-box}body{margin:0}.app-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #ddd;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.app-header h1{font-size:19px;margin:0}.container{max-width:760px;margin:0 auto;padding:16px}.card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:16px;margin-bottom:14px}.stack>*+*{margin-top:12px}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{color:#666;font-size:13px}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{border:1px solid #ccc;background:#fff;border-radius:10px;padding:11px 14px;cursor:pointer}button.primary{background:#111;color:#fff;border-color:#111}button.danger{color:#a00}button.ghost{padding:8px 10px}button.wide{width:100%;margin-bottom:20px}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{width:100%;border:1px solid #bbb;border-radius:10px;padding:11px;background:#fff}textarea{min-height:90px;resize:vertical}label{display:block;font-weight:600;margin-bottom:6px}.field{margin-bottom:14px}.field small{display:block;color:#666;margin-top:4px}.pill{display:inline-block;border:1px solid #ccc;border-radius:999px;padding:4px 8px;font-size:12px}.project{display:flex;justify-content:space-between;gap:12px;align-items:center}.project h3{margin:0 0 4px}.project-summary-card{margin-bottom:10px}.options-editor{display:flex;gap:8px}.options-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.option-chip{border:1px solid #ccc;border-radius:999px;padding:5px 9px;font-size:13px}.chip-x{padding:0 4px!important;border:0!important}.checkline{display:flex;gap:10px;align-items:center;padding:7px 0;font-weight:500}.checkline input{width:auto}.footer-actions{display:flex;gap:10px;position:sticky;bottom:0;background:linear-gradient(transparent,#f5f5f5 25%);padding:18px 0 6px}.footer-actions button{flex:1}.empty{text-align:center;color:#666;padding:28px 10px}.empty.compact{padding:14px 6px}.question-block{padding:15px 0;border-bottom:1px solid #ececec}.question-block:first-child{padding-top:0}.question-block:last-of-type{border-bottom:0}.question-title{display:flex;align-items:flex-start;gap:7px;font-weight:700;margin-bottom:9px}.question-number{min-width:24px}.subfield-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-left:31px}.subfield label{font-size:13px;color:#555;font-weight:600}.survey-project-card{padding-bottom:10px}.record-list-title{margin-top:16px;padding-top:12px;border-top:1px solid #eee;font-size:13px;font-weight:700;color:#555}.record-search{margin-top:9px}.record-list{margin-top:5px}.record-row{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid #eee;border-radius:0;padding:11px 4px;background:#fff;text-align:left}.record-row:first-child{border-top:0}.record-row span:first-child{display:flex;flex-direction:column;gap:2px}.record-row small{color:#666;max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-arrow{font-size:24px;color:#777}.detail-item{padding:13px 0;border-bottom:1px solid #eee}.detail-item:first-child{padding-top:0}.detail-item:last-child{border-bottom:0}.detail-value{margin-left:31px;white-space:pre-wrap}.detail-sublist{display:grid;gap:7px}.detail-subrow{display:flex;justify-content:space-between;gap:18px}.detail-subrow span{color:#666}.detail-subrow strong{text-align:right}.detail-actions{display:flex;align-items:center;gap:8px}.detail-actions button{padding:8px 10px}.record-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.select-all-line{margin:0;padding:0 4px;white-space:nowrap}.admin-record-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.admin-record-row:last-child{border-bottom:0}.admin-record-select{display:flex;gap:10px;align-items:center;margin:0;font-weight:400;min-width:0}.admin-record-select input{width:auto}.admin-record-select span{display:flex;flex-direction:column;min-width:0}.admin-record-select small{color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}.export-actions{display:flex;gap:10px;padding-top:8px}.export-actions button{flex:1}
@media(max-width:600px){.grid{grid-template-columns:1fr}.row.wrap{flex-direction:column;align-items:stretch}.subfield-grid{grid-template-columns:1fr;margin-left:31px}.project{align-items:flex-start}.project>button{flex-shrink:0}.record-row small{max-width:230px}.record-toolbar{grid-template-columns:1fr}.select-all-line{padding:2px 0}.admin-record-select small{max-width:210px}.export-actions{position:sticky;bottom:0;background:linear-gradient(transparent,#fff 25%);padding-top:18px}.detail-actions{flex-direction:column;align-items:flex-end}}
.mode-banner{font-size:12px;border:1px solid #ddd;background:#fafafa;border-radius:9px;padding:8px 10px;color:#666}.mode-banner.online{color:#176b36;border-color:#b9dcc5;background:#f4fbf6}.access-codes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.access-codes>div{border:1px solid #ddd;border-radius:11px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center}.access-codes span{grid-column:1/-1;color:#666;font-size:12px}.access-codes strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;word-break:break-all}.access-codes button{padding:7px 9px}.footer-inline{display:flex;gap:8px;border-top:1px solid #eee;margin-top:10px;padding-top:12px}.footer-inline button{flex:1}.record-meta{font-size:12px;color:#777;margin-top:9px}
@media(max-width:600px){.access-codes{grid-template-columns:1fr}.access-codes>div{grid-template-columns:1fr auto}.footer-inline{flex-direction:column}}
.remember-line{align-items:flex-start;flex-wrap:wrap}.remember-line .muted{font-weight:400;margin-left:2px}.remember-note{margin-top:12px;padding:9px 11px;border:1px solid #d9e6ff;background:#f7faff;border-radius:10px;color:#40516b;font-size:13px}.remember-badge{display:inline-block;margin-left:7px;padding:2px 7px;border:1px solid #bfd0ee;border-radius:999px;background:#f6f9ff;color:#355b91;font-size:11px;font-weight:600;vertical-align:middle}.mode-banner.offline{color:#8a5a00;border-color:#efd7a3;background:#fffaf0}.pending-row{background:#fffaf0}.pending-pill{border-color:#e2bd68;background:#fff8e7;color:#7a5000}

/* Dubao-Forms v0.8.1 visual system */
:root{color:#17302a;background:#edf2ee;--ink:#17302a;--forest:#143c35;--forest-2:#1d574c;--gold:#e7b856;--paper:#fffdf8;--line:#d9e2dc;--soft:#f2f6f2;--danger:#a13c35}
body{min-height:100vh;background:radial-gradient(circle at 10% 0,#f8f2df 0,transparent 28rem),#edf2ee}.app-header{background:rgba(255,253,248,.94);border-bottom-color:var(--line);box-shadow:0 3px 18px rgba(20,60,53,.06);backdrop-filter:blur(12px)}
.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup small{display:block;margin-top:1px;color:#6d7f78;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.brand-logo{display:block;width:78px;height:auto;object-fit:contain;flex:0 0 auto}.app-header h1{font-family:Georgia,"Times New Roman",serif;color:var(--forest)}
.container{max-width:820px}.card{border-color:var(--line);background:var(--paper);box-shadow:0 8px 28px rgba(20,60,53,.055)}button{border-color:#cbd7d0;color:var(--ink);background:#fffefa;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}button:hover:not(:disabled){box-shadow:0 4px 12px rgba(20,60,53,.1)}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--forest);border-color:var(--forest)}button.primary:hover:not(:disabled){background:var(--forest-2)}button.danger{color:var(--danger)}
input,textarea,select{border-color:#bdccc4;background:#fffefa;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:3px solid rgba(231,184,86,.28);border-color:#9d7a35}.pill{border-color:#c6d5cc;background:var(--soft)}.mode-banner{border-color:#d9e2dc;background:#f5f8f5}.remember-note{border-color:#c8dbd0;background:#f3f8f5;color:#365b4f}.remember-badge{border-color:#bad3c6;background:#eff7f2;color:#235d4d}
.manager-row .manager-actions{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}.manager-actions button{padding:7px 9px}.confirmation-check{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:var(--soft)}.container .hero-card{border-color:var(--line);background:var(--paper);box-shadow:0 12px 36px rgba(20,60,53,.08);padding:32px 22px 26px}.container .hero-card h2{font-family:Georgia,"Times New Roman",serif;color:var(--forest);font-size:28px}.hero-logo{display:block;width:124px;max-width:48%;height:auto;object-fit:contain;margin:0 auto 12px}

/* v0.8.2 form tools, version history and backup */
.form-version-pill{margin-left:auto;white-space:nowrap}.field-structure-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.field-structure-card:last-child{border-bottom:0}.field-structure-main{min-width:0}.field-structure-main h3{margin:0 0 5px}.field-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.field-actions button{padding:7px 9px;font-size:13px}.backup-actions{display:flex;gap:10px}.backup-actions button{flex:1}.status-active{color:#176b36;border-color:#b9dcc5;background:#f4fbf6}.status-disabled{color:#8b302b;border-color:#e3bbb7;background:#fff5f4}
@media(max-width:600px){.field-structure-card{grid-template-columns:1fr}.field-actions{justify-content:flex-start}.field-actions button{flex:1 1 auto}.backup-actions{flex-direction:column}.form-version-pill{margin-left:0}.project:has(.form-version-pill){flex-wrap:wrap}}

/* v0.9 permission-separated dashboards */
.owner-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.metric-card{padding:13px 16px;border-right:1px solid var(--line)}.metric-card:last-child{border-right:0}.metric-card span{display:block;color:#6d7f78;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.metric-card strong{display:block;margin-top:3px;color:var(--forest);font-size:22px}.owner-manager-grid{display:grid;gap:10px}.owner-manager-card,.owner-project-card{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.manager-card-head{display:flex;justify-content:space-between;gap:12px}.manager-card-head>div{display:flex;flex-direction:column}.manager-card-head small,.readonly-project small{color:#6d7f78}.compact-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:12px 0}.compact-facts div{min-width:0}.compact-facts dt{color:#6d7f78;font-size:11px;text-transform:uppercase}.compact-facts dd{margin:2px 0 0;font-size:13px;overflow-wrap:anywhere}.manager-admin-actions,.owner-project-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.manager-admin-actions button,.owner-project-actions button{padding:7px 9px;font-size:13px}.owner-project-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:10px}.project-select{margin-top:2px}.project-select input{width:auto}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#6d7f78;font-size:13px}.pagination div{display:flex;gap:6px}.pagination button{padding:6px 12px}.audit-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.audit-tabs button.active{background:var(--forest);border-color:var(--forest);color:#fff}.audit-field{padding:13px 0;border-bottom:1px solid var(--line)}.audit-field:first-child{padding-top:0}.audit-field:last-child{border-bottom:0}.audit-field small{display:block;color:#6d7f78;margin:3px 0 7px}.audit-total{display:flex;align-items:baseline;gap:10px;padding:6px 0 16px}.audit-total strong{font-size:34px;color:var(--forest)}.activity-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.activity-row small{color:#6d7f78}.activity-row:last-child{border-bottom:0}
@media(max-width:600px){.container{padding:12px}.owner-metrics{grid-template-columns:repeat(3,1fr)}.metric-card{padding:11px 9px}.metric-card strong{font-size:19px}.compact-facts{grid-template-columns:1fr 1fr}.manager-admin-actions button,.owner-project-actions button{flex:1 1 calc(50% - 7px)}.activity-row{flex-direction:column;gap:3px}.audit-tabs{position:sticky;top:70px;z-index:3;background:#edf2ee;padding:5px 0}.audit-tabs button{padding:9px 5px;font-size:12px}}

/* v0.9 Owner progressive-disclosure refinement */
.owner-manager-grid{gap:0}.owner-manager-card{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 28px 14px 2px;text-align:left;background:transparent}.owner-manager-card:first-child{border-top:0}.owner-manager-card strong{font-size:15px}.owner-manager-card span{color:#6d7f78;font-size:13px}.owner-manager-card i{position:absolute;right:4px;font-size:24px;color:#8a9992;font-style:normal}.manager-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.manager-detail-actions span{margin-right:auto;color:#6d7f78;font-size:13px}.manager-detail-actions button{padding:7px 9px;font-size:12px}.owner-project-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:14px 2px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.owner-project-card:first-child{border-top:0}.project-select{margin:0}.project-list-main{display:flex;flex-direction:column;min-width:0}.project-list-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-main span{margin-top:3px;color:#6d7f78;font-size:13px}.owner-project-actions{display:flex;gap:7px;flex-wrap:nowrap}.owner-project-actions button{padding:7px 9px;font-size:12px;white-space:nowrap}.project-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:4px 0 0}.project-detail-facts dt{color:#6d7f78;font-size:11px;text-transform:uppercase}.project-detail-facts dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.section-caption{margin-bottom:8px;color:#6d7f78;font-size:13px}
@media(max-width:600px){.owner-manager-card{grid-template-columns:minmax(0,1fr) auto}.owner-manager-card span:last-of-type{display:none}.owner-project-card{grid-template-columns:auto minmax(0,1fr)}.owner-project-actions{grid-column:2;justify-content:flex-start}.owner-project-actions button{flex:1}.manager-detail-actions{align-items:stretch}.manager-detail-actions span{width:100%;margin:0}.manager-detail-actions button{flex:1}.project-detail-facts{grid-template-columns:1fr 1fr}}

/* v0.6: default survey entry + management auth */
.hero-card{background:#fff;border:1px solid #ddd;border-radius:18px;padding:24px 18px;margin:18px auto 14px;max-width:520px;text-align:center}.hero-card h2{margin:8px 0}.hero-card .field{text-align:left;margin-top:20px}.hero-mark{width:54px;height:54px;margin:0 auto;border-radius:16px;background:#111;color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.04em}.wide-action{width:100%;padding:13px 16px}.management-entry{text-align:center;padding:10px 0 4px}.link-button{border:0;background:transparent;text-decoration:underline;color:#555;padding:8px;font-size:13px}.mode-footnote{text-align:center;color:#888;font-size:11px;padding:4px 0 22px}.recent-project{width:100%;border:0;border-top:1px solid #eee;border-radius:0;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:11px 2px}.recent-project:first-child{border-top:0}.recent-project span:first-child{display:flex;flex-direction:column;gap:2px}.recent-project small{color:#777}.auth-card{max-width:520px;margin:18px auto}.demo-box{border:1px dashed #c6c6c6;background:#fafafa;border-radius:11px;padding:12px;font-size:13px;line-height:1.7}.demo-box strong,.demo-box small{display:block}.demo-box code{font-size:12px}.manager-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eee;padding:11px 0}.manager-row:first-child{margin-top:8px}.manager-row div{display:flex;flex-direction:column;min-width:0}.manager-row small{color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.single-code{grid-template-columns:1fr}.single-code>div{max-width:520px}
